Save original matrix of recommender: fix #537

This PR fixes #537: ``sparse_matrix_storage_mixable`` is added and now ``recommender_base`` uses it instead of directly using ``sparse_matrix_storage``. This mixable is some kind of a *dummy* mixable, i.e. it just (un)packs the sparse_matrix_storage and does nothing on MIX, though the interface is of mixable. So this is a WORKAROUND to be resolved in the future by separating concept of "model" (to be saved/loaded) and "mixable" (implementing MIX interface).

This PR consists of following changes:

- ``sparse_matrix_storage_mixable`` and pack/unpack of ``sparse_matrix_storage``
- Removal of pack/unpack of recommender algorithms
- Add the dummy mixable to ``mixable_holder`` at each recommender algorithm
- Fix on algorithms using orig_ (mainly due to the change of the type of orig_)
- Fix on tests