Added n_atoms as arg to Storage().

This removes the necessity of having a topology file to use our storage. We
still need a number of (effective) 3D atoms. If you give a topology but not
a number of atoms, it still behaves the same and extracts the number of
atoms from the topology.