Splitted the class VectorObservable<T> in two classes:
* class template VectorAddable<T> that provides the interface for the std::vector and the functionality for adding and subtracting two vectors as well as for scalar multiplication and division.
* class template VectorObservable<T> : VectorAddable<T> that provides the functions pow and sqrt and the possibility to multiply and divide two VectorObservables<T> component wise. Here the necessary code for using boost::accumulator is implemented, too.
This splitting has the advantage that one can use the VectorAddable<T> as base class for VectorEnergy (because for the energy we have to define a scalar multiplication between two vectors and no component-wise multiplication).
Modified the standard template argument of the do_metropolis_simulation to be compatible with older gcc versions (by using boost type_traits)
Splitted the class ArrayObservable<T> in two classes:
* class template ArrayAddable<T> that provides the interface for the std::vector and the functionality for adding and subtracting two vectors as well as for scalar multiplication with numbers
* class template ArrayObservable<T> : ArrayAddable<T> that provides the functions pow and sqrt and the possibility to multiply and divide two ArrayObservables<T> component-wise
This splitting has the advantage that one can use the ArrayAddable<T> as base class for ArrayEnergy (because for the energy we have to define a scalar multiplication between two ArrayObservables)
Merge branch 'master' of https://github.com/bkrueger/mocasinns

Conflicts:
	libmocasinns/include/mocasinns/metropolis.hpp

Removed the workaround for nullptr and included functionality of boost (simpler than helper class, without check of compiler)