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).
Switched to attributes, and lat_node updated to data.