Better data-types.

This is a bunch of types and tests, that are required to do a
pure implementation of the planning algorithms.
Date should have tests.
Factset should have tests.
FeatureStore should have tests.