Minor refactoring in:
    * all the StructuredModels
    * all the StructedOutputMachines
to provide support for sparse joint feature vector
Modified all the StructuredOutputModels to include
get_sparse_joint_feature_vector() method.
Implemented CHashedMultilabelModel class to faciliate feature hashing in
multilabel scenario.
Added unit-test for CHashedMultilabelModel
update the MatrixOperations class
update the base class
update the first KL method
update the second KL method
update the third KL method
add_to_dense() method added in SGSparseVector for adding a dense vector
Merge pull request #2312 from yorkerlin/develop

update  all KL methods
Minor refactorings and changes in:
    * all the StructuredOutputModels
    * all the StructuredOuputMachines
to remove redundant methods and intializations
fix abstract of log-det notebook
Minor bug fixes in HashedMultilabelModel
Minor modification in MulticlassModel
Merge pull request #2321 from lambday/feature/log_determinant

fix abstract of log-det notebook
added modular interfaces for the implemented multi-label models
added checks in the structured machines
Merge branch 'hashed-mutlilabel' of https://github.com/abinashpanda/shogun into hashed-mutlilabel
minor modifications in CResultSet and in all the strutured models