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 #2351 from lambday/feature/selection

Refactored kernel selection and few minor changes