Added CPreprocessor::apply() and CFeatures::copy_dimension_subset() methods

@karlnapf Please have a look! I added
- `CFeatures::copy_dimension_subset()` method which stays unimplemented in base class but works in CDenseFeatures. Its possible to use this with subsets as well.
- `CPreprocessor::apply()` method. Subclasses use this as a wrapper to handle specific cases.
Is this really the way to do this? Just wondering?