Add feature extraction from tokens

Given a document, we can use the FeatureExtractor class to extract
features from the document to be used with a classifier (to train and to
predict).

Currently only n-gram feature extraction is implemented, but this
provides the framework for additional features. This closes gh-4.