Base Review PR

Review PR. Initial version. 

Please come forward with any comments/suggestions/questions/etc.

The core 'interface' is in Classes.hs, the core types are in Types.hs and Process.hs handles all the core plumbing.

A collector requires 3 things:

* A way of parsing collector-specific options + options descriptions.
* A way of generating initial collector-specific state from options
* A way of generating a (Address, SourceDict, TimeStamp, Payload) four-tuple
    * It might (read: almost definitely) be better to change this to a query of `(Either SimplePoint (Address, SourceDict))` or similar in order to decouple the number of points from the number of sourcedicts from the number of input lines (or equivalent)
I think -v might not be the best choice here; idiomatically -v translates to --verbose, so by the principle of least surprise log level should be -l or something (another option is to make -v automatically turn on LevelDebug automatically, which would be more convenient than running -l LevelDebug and is probably by far the most common use case.