Added basic classes for feature construction

We want to make it simple to make derived features with similar traits then express them in arbitrary data formats for different ML libraries.

Made a class structure to support this.

construct_features.py is where features are actually built. Different FeatureSets are defined there.

feature_classes.py contains the base classes for Features and FeatureSets.

features.py contains code for individual Features.
Merge remote-tracking branch 'origin/master'