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()).
The non normal (e.g. timeout) cases should also cause the response to end and the entry to be removed from the map. I can't see why a WeakHashMap would be required if you catch all these cases.