Now compiles, but tests don't pass.
tests now pass, but no vectorisation yet.
added some vectorisation
Added eigen3 to the build configuration.
Merge branch 'master' into eigen
moved headers into subdirectory
added some DiscreteFunction functionality to base Matrix type
Merge branch 'eigen' of github.com:lteacy/maxsum-cpp into eigen
Merge branch 'master' into eigen

Conflicts:
	CMakeLists.txt
bug fixes and updates for current code base
vectorised += in sameDomain case: BayesQ saved 14%
added comment about eigen new operator
vectorised sameDomain -= (32% time reduction!)
vectorised other ?= operators - small gain (1-2ms)
optimised operator()
fixed assertions and optimised operator(map)
stopped template operator() creating temporaries
Created new function for getting linear index.
Retrieves linear index for subindex map.
Created by factoring out code from corresponding operator()
continued work
Merge branch 'master' into eigen