added the density density correlation as an observable
fixed a minor bug that prevented debug builds from compiling
added a method to the lattices that calculates the vector pointing from site i to site j
switched HubbardModelVMCs rng from shared_ptr<mt19937> to mt19937 (the new ownership model is that no objects except for the lattice are shared)
moved everything related to the W matrix to an own class (I'm in the process of making the HubbardModelVMC class a little more lightweight)
moved T vector stuff in dedicated class
discovered the mutable keyword and made some non-const methods const (the only thing that was non-const about them was writing to a preallocated object instead of allocating a new one)
hVMC now has three modes of operation: optimization, simulation and analysis; some changes to the command line interface
added a function to the Lattice class that returns all relevant q vectors for the lattice (will be needed for the Fourier transform of the static structure factor in the upcoming analysis module)
simulation mode will now save all of its results in a machine readable file; implemented the static structure factor analysis module
fixed two errors in the code for the calculation of the static structure factor (one of which I would have easily discovered if I had ever run it in debug mode -.- ...)
switched all scalar und performance uncritical floating point operations from fptype to double precision (this was long overdue and solving the Sa=f system for SR was actually problematic in single precision)
switched convergence detection for the variational parameters to performing a Mann-Kendall test
threw out the initial check for the TVector (it was pointless anyway and sometimes caused problems)
Matrix and Vector observables now use a simple sum instead of a std::vector to calculate the average (this saves memory for these rather large objects and is ok because we dont calculate errorbars for them anyway)
added a missing virtual dtor for the Observable class that resulted in undefined behaviour when deleting an observable through a pointer to the base class (it was probably a memory leak)
fixed a bug where the -d switch was used for two options: working directory is now -D
added support for loading variational parameters from a directory other than the working directory; renamed the example jobfile to template.job
switched the TVector class to double precision (it is not vectorized anyway, nor does it need a lot of memory and single precision was causing problems for very large Jastrow parameters)
merged a lot of changes from master