Fix the handling and units of box lengths in CHARMM files

Fix the handling and units of box lengths (they are not independent from boxVectors, so they should be a property computed from the vectors). Also make sure that any attempts to change the boxVectors correspondingly deletes the cached copies of the box lengths so they are recomputed if necessary.