Add join_non_empty utility function
function that get/set rate limits only get a key.

it's the callers responsibility to make sure the key is unique with all
the rate limit, selector, etc qualifiers.

get/set rate limits only prefix the key with a namespace if one given.
Implement updating rate limit, for Limit object