Clean up slightly, and document some functions/classes/modules.
Move ApproximateDate to an `objects` module.
Clean up, refactor, attempt to appease pep8.