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()).
I would assume it's cached, but for every byte read/written creating a new SocketAddressImpl seems unnecessary. What about adding a metrics.isEnabled() check along with caching a SocketAddress inside ConnectionBase ? Does the remoteAddress on the netty channel held in ConnectionBase change ?