Metrics

Initial stab at metrics, more to come later.
 - number of http/net connections & connections by remote address
 - number of http requests (client & server) and requests by uri (only for server)
 - http request latency and rate (client & server)
 - net/http bytes read/written. For http we only record the content/body. So this excludes headers and such.
 - number of event bus & handlers by address
- number of verticles & by verticle type (verticle.getClass().getName()).
Why Map<HttpClientResponse, WeakReference<HttpClientRequest>> ? 
Surely it should be: Map<HttpClientResponse, HttpClientRequest> ? As you're using a WeakHashMap that internally already uses a WeakReference, so it looks like you've got two levels of WeakReference here.