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.
Is this still needed? as we tried to get rid of all name attributes as name is part of path already.
Not saying to remove it by all cost, just check if it could be removed