Move tests/unit/storage/base under m/tests/storage

If we want third-party backends to inherit from these tests, we need to
ship them along with Marconi. This patch moves storage base tests under
marconi/tests/sotrage.

Implements blueprint refactor-system-tests

Change-Id: Ic7390ead37694bdac9eb341da6f239b8c1178e1e
Move queues' unittests under tests/unit/queues/

This patch moves queues' unit tests under a queues package to reflect
Marconi's source structure.

Change-Id: Ibe009aba89d615333b8626c73008c55ee3face8f
proxy: adds oslo.cache, config support, & stevedore

This patch brings together oslo.cache, oslo.config, and stevedore to
provide pluggable, hierarchical catalogue caching for marconi proxy.

Here's the list of changes:
- add configuration/driver loading at the app level
- remove select from proxy storage driver - unnecessary intelligence
  at storage layer
- node.weighted_select -> partition.weighted_select (clearer name)
- forwarding logic further refactored, placed in own module
- caching logic placed in lookup module
- selector passed down at app level to handle round-robin state
  globally
    * open to becoming configurable
- adds several TODOs for a better proxy

Change-Id: I3bc568315e685486d63cdce3ec278c89e3f2b2bc
Implements: blueprint placement-service
test(proxy): fix proxy-transport tests

Change-Id: Ibc05d6949221367a21b493f75ff0b4f0350ee265
Merge "Move tests/unit/storage/base under m/tests/storage"
Merge "Move queues' unittests under tests/unit/queues/"