Badpenny Part III

This adds the ability to register and run periodic tasks, as well as a cleanup task that serves (if nothing else) as an example.
nit this omits the possibility to use datetime.datetime(**kwargs) calling convention.