Register LinearMaps

New package that provides a type hierarchy and functionality for defining and working with linear maps; useful in the context of iterative linear solvers and eigensolvers, and possible other applications. Focus on efficiency, availability of mutating methods (A_mul_B!) and minimised memory allocation (minimal number of tempories).