Working on feature_extractor.py, doing a lot of refactoring.

Committed not because of solid progress but because of how much has changed.