first revision of sundial

Works with current uploader code, not yet modified to include needed tideline functions.

@jh-bate or @cheddar please review. @cheddar would like me to merge and tag this and have the uploader depend on it before merging the uploader branch where I've removed the moment dependency and replaced it with sundial methods.
This test scares me a bit in that it is different based on where it is written.  It seems like it would be safer if sundial were driven by actual parameters instead of environment.  That is, if the sundial instance were initialized with the "local timezone", it would be possible to make this test completely deterministic (and also make it possible to test sundial instances from different environments in the same place as well).