Basic API for "user" code

This (rather large) series of commits adds the first cut of the "user" APIs -- APIs to be used by client code to hook retcon to specific systems -- and exercises it though some example implementations.

It also includes the first cut of the handler code which dispatches events based on a retcon configuration.