Implemented a cleanup worker for deleting metrics

There are 3 main changes in this pr:

1) Added a cleanup metrics and delete functions to state to allow metrics to be deleted
2) Added an API endpoint for calling the CleanupMetrics function
3) Added a worker that will periodically call the cleanupmetric function

The worker never gets called - except in tests - that will come in a follow up pr.
The CleanupMetrics function currently just returns an error. In a follow up it will return a list of the uuids that were deleted.
-1 for 2 reasons: 1) the Assert: txn.DocExists is redundant - see most other remove methods in state don't use it, and don't have to handle the ErrAborted when the record is already missing; 2) without the assert, there's nothing to cause ErrAborted, so you can just run it once.