Hook tool for sending metrics from charm.

A hook tool metric-add is made available to charm authors for sending metrics to state.
We want to be careful about the use of All() here - in case the number is large. I cheated by avoiding implementing this function in my pr as it starts to ask questions such as - should we return an iterator. Should we limit the size of the query etc. As it's just used in tests we could probably get away with leaving it as is and adding a TODO