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.
I believe the way I reorganized the application of formatting masks addresses this (although not in the way you suggested). I think we do want to have a standard default so that we can get a common mask across e.g. blip and clamshell without having to code it in those apps. (That's how it's being used now, at least.)