Refactor/simplify the way we define and handle channel, cache and cache-container metrics

Defining metrics per resource via enums simplifies things immensely.
Also, some code cleanup:
* Use consistent class naming for resource definitions and add/remove/describe operation handlers.
* Eliminate superfluous static final values.
* Breakup CacheConfigOperationHandlers into individual add operation handlers for cache stores.
* Traverse model via resource paths where possible.
I don't mind if this gets merged without this extra changes, it was just a thought when i was looking trough the changes.