Implement lattice constructor

This builds a lattice of the specified size from a unit cell descriptor
TODO - add space checks before memory allocation
     - exception handling (currently none)