admin API: add useful middlewares:

 * add ContentTypeHandler for json requests
 * add HTTPMethodOverrideHandler
 * add CompressHandler
 * Add LoggingHandler for admin API calls
ServerPool: change server start behavior to allow changing the main Handler

  This allows the caller to customize the Server and do other things
  before starting it.
  In particular, a HandlerWrapper field has been added to let the caller
  wrap the final http handler of the server with custom middlewares.