Optionally use HTTP Kit, reload code, default middleware

Add a --http-kit flag to use that instead of Jetty. This introduces some
initial logic for dealing with optional dependencies. It also introduces
middleware that takes care of Clojure/HTML hot reloading, and adds the
default compojure.handler.site middleware for session, cookies, param
handling etc.