Feature lattice

Implementation includes
- class LatticeNode: represents a single node of a lattice,
- class Lattice: describes a Bravais lattice (stores references to lattice nodes),
- factory routines for creating specific lattices (for convenience).
While, I can see the appeal of having arguments columns aligned. I would suggest that for consistency with the rest of the code to follow the pep8 style guide.