fix: Checking whether queue exists adds latency

This patch uses oslo.cache to cache the call to
QueueController.exists for a few seconds. A decorator was
added to marconi.common in order to DRY up the caching
logic between QueueController and sharding.Catalog.

MessagePack is used to normalize the cached data, since it
is very fast at encoding and esp. decoding, and creates
very compact representations.

Closes-Bug: #1245573
Change-Id: Id4fd822fd907815ce8da2f03e51f888b6c63ad6b
Merge "fix: Checking whether queue exists adds latency"