Fixed minimal version of Eigen3 that supports sparse matrices
Merge branch 'release/3.0.0'

Conflicts:
	src/shogun/lib/tapkee/tapkee_defines.hpp
Merge branch 'release/3.1.0'
Merge branch 'release/3.1.1'
DualLibQPBMSOSVM::train_machine: True exit status if one of the stopping conditions is met.
libbmrm: Added unittest to prove that DualLibQPBMSOSVM has a problem if the buffer size is exceeded.
libbmrm: Changes fix memory errors; added prober bounds checking (at least assertions).
libbmrm: Overworking history handling.  Growing history on demand.
libbmrm: Checking for integer overflow when allocating memory for matrix.
libbmrm: Changed how to controll debugging output in libbmrm.
add unit test with marginal likelihood estimate with EP
Don't kill whole test chain with sys.exit
drop libstdc++ workaround from cmake lists

for osx we need swig 3.0.0 (currently git clone only) for a modular
interface to work
use expect_near macros when comparing results
seed rng to get reproducible tests
fix compile error occurring with swig3
Fix libc++ and libstdc++ mixup on OSX with swig 2.0.11 or earlier
mute warning about serialization version
make canned data tests python version specific
Lower precision for SGVectorTest.dot