Extracted Class and Methods for feature extraction logic.

- feature must implement methods 'fit', 'predict' and 'failure'
- lm.features are wrapped to own class