B-DNA structure and stability: the role of hydrogen bonding, π-π Stacking interactions, twist-angle, and solvation