update the lbfgs optimizer
update the unit tests for lbfgs
Added CPreprocessor::apply() method
fix a bug
Added CFeatures::copy_dimension_subset() method
Merge pull request #2337 from yorkerlin/develop

update the lbfgs optimizer
Merge pull request #2343 from lambday/feature/selection

Added CPreprocessor::apply() and CFeatures::copy_dimension_subset() 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.
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
Implemented deep autoencoders