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

Conflicts:
	src/shogun/lib/tapkee/tapkee_defines.hpp
Improved error handling in many places to detect missing files or NULL file handles.
Spelling.
More spelling
Spelling.
Even more spelling
close() file before dying.
added first draft of linalg unifying backend
added cmake options for setting linalg backend libraries
added viennacl support and redesigned linalg policy
added hard requirement for linalg backends cmake options
added explicitly set eigen3 backend dot unit-test
added viennacl dot and made it easy to call explicit backend dot
Merge pull request #2217 from lambday/feature/linalg

Linear algebra unifying backend (WIP) - First draft
restructured linalg internal lib and renamed namespace impl to implementation
added sum and symmetric sum in linalg with eigen3 backend
Merge pull request #2225 from lambday/feature/linalg

First batch of matrix sum/sum-symmetric methods in linalg framework
added block definition and block sum methods in linalg
minor documentation fix in linalg