Added support for a metrics collections

Added a metric collection for storing unit metric in the state server

Only support for:

* adding new metrics
* getting lists of unsent metrics
* setting the sent flag
We can remove life from the assert. And, we can add the pending metric to the assert in removeUnit. Validating the unit tag and charm URL match protects us from invalid metrics, which are most likely a guard against future bugs.