Modified argmax() method of
    * MultilabelModel
    * HashedMultilabelModel
to give correct value of ret->score
Merge branch 'develop' of https://github.com/shogun-toolbox/shogun into hashed-mutlilabel
Implemented contractive autoencoders
updat the interface
bug fix
add dual likelihood
update the existing KL methods
Added feature setter/getter for kernels in CKernelIndependenceTest
Minor changes in error msgs in DenseFeatures and SparsePreprocessor
Added proper setter/getter for features in HSIC

Earlier it worked with CIndependenceTest::set_p and set_q which
did set the features but did not change the m_num_features inside
CHSIC. Added overridden set_p and set_q which sets this in HSIC.
Refactored kernel selection

Added a base class CKernelSelection. CMMDKernelSelection now works as
a subclass of this base.
update the unit test
Merge pull request #2346 from khalednasr/autoencoders

Implemented contractive autoencoders
Merge pull request #2351 from lambday/feature/selection

Refactored kernel selection and few minor changes
CART optimized
Implemented deep autoencoders
update the existing kl methods and dual likelihood
Merge pull request #2347 from mazumdarparijat/gd

CART optimized
Added abstract base class CFeatureSelection
Merge pull request #2353 from khalednasr/autoencoders

Implemented deep autoencoders