Initialize cabal.
Initial code.

Not documented.  Not unit tested.
Add the source module to the config

So it'll get compiled.
Bug fixes.  Things compile now.