Modifications in class SpinLattice:
* Introduced a base class SpinLatticeBase with CRTP that provides the common functionality for all specialised SpinLattice-classes. This class is basically the old SpinLatticeBase
* Introduced specialised SpinLattice classes (for dimensions 1, 2 and 3) that can be indexed directly by operator() without calling the get_spin() or set_spin()-methods.
* Removed the constructor SpinLattice(lattice_extension) by giving the constructor SpinLattice(lattice_extension, default_spin) the default parameter SpinType()
* Added tests for the newly introduced operator()-functions in the specialised SpinLattice classes.