Add cleanup handler; start namespace deps tracking

- The `cleanup` macro adds a handler to run after the build. This is
  used to clean up after the build: eg. stop servers, kill threads, etc.
- namespace tracking will be for tracking transitive dependencies
  between clojure namespaces for use with eg. cljs compiler rebooting
  when macros are modified etc.