B-62418 RL Supports Multiple Rate Limits & Key Change

Key change includes UUID assignment to each configured limit. If the user can set an ID, is the uri attribute necessary?

A few things to note:
- A Pair is used in many instances to bind a configured with a cached rate limit. Consider that each rate limit now stores the UUID of its associated configured rate limit, so we could instead search for the associated configured rate limit when necessary. I think using a pair should be fine...
- The id for a limit is not currently configurable (it will always be overwritten by the config listener). It would be simply to allow this id to be configurable.
- TODO in RateLimitListBuilder to address the new structure of cached rate limits.The returned limits should be accurate, it's just a matter of formatting the XML that may need to be looked into.
- What's up with CachedRateLimitWrapper? 
- Are we able to combine CombineLimitsTransformTest with CombineLimitsTransformJsonTest?

There may be something I missed above. I have notes in the top drawer of my cabinet in Austin, but I won't be able to look at those until Friday/Monday.