Switch from clj-http to http-kit

First step to enabling a generated async API
Add a runtime jar

The runtime jar contains code used by the generated APIs.  This avoids
having to generate this code in every generated API.
Use same fn definition map as api-builder
Add test for schemas
Add a :kw-f option to schema generation
Split runtime into separate
 module
Pass all params as a single map

Makes it easier to construct a request as a data structure.
Make generated api asynch a la http-kit

Functions return a promise and take an optional callback, in the same
way http-kit client requests work.