Core : Split up {matrix, vector}_base's definition in {matrix_vector}_def.hpp and {matrix_vector}.hpp

*_def.hpp contains the declaration of the operators and the definition of the accessors. Useful to avoid circular dependencies