Attempt to make is slightly more plausible to use IvoryT.

This is just shifting code around, the main goal of this
is to re-arrange things such that it is plausible that
I can use the profiling code in the snapshot code to
support the performance changes I am making after this.

This makes things uglier in some spots, but with the
goal of it making everything better. Still undecided
if it is too dodgy, but figured it is worth making a
small step to demonstrate direction I am heading.
Merge pull request #444 from ambiata/topic/ivory-t-the-conclusion

Attempt to make is slightly more plausible to use IvoryT.
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.
Partition intervals indexed by namespace.
Merge pull request #445 from ambiata/topic/partitions

Planning data-types.
Introduce ArgonautProperties for law testing
Add CodecJson for DateTime
Introduce DateTime.now
Introduce IvoryVersion
Added JsonCodec for FeatureId
Capture per-feature count stats for snapshot
Merge pull request #331 from ambiata/topic/snapshot-feature-count

WIP: Capture per-feature counts for snapshot
Use ArgonautProperties for IvoryVersion as well
Data regression tests aren't actually creating a new snapshot
Use Ivory timezone in text ingest
Rename unused name field on DictionaryTextStorage
Remove unused args to Repositories initialKeys