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.
oh I see your point. with get_name() we'll be able to generate proper warning messages for the subclasses as well!