Extend metrics middleware

This should allow us to track via Graphite, for each transport, network operator and tag or tagpool:

* number of sessions
* number of messages
* time taken for each session
* time taken for each session, rounded to the next ``N`` seconds (this is to allow very rough session costs calculations since some networks bill per ``N`` seconds or part there-of).

See also praekelt/vumi#856.
Do we need to handle outbound messages that start sessions? I don't think we have any of those at present, but it's something that will probably happen eventually even if we don't.