Start scratching Queue Flavors api

This patch adds the base API for queue flavors to the storage layer. The
API follows pretty much the leads of other APIs and supports basic
operations that allow users to create, delete, update and retrieve queue
flavors.

Partially-Implements blueprint: marconi-queue-flavors

Change-Id: I0666331ec983b138e324d42bf832d20e0dbfe877
Changing default type for pooling Catalog storage driver

Changing the default pooling catalog storage type
from IntOpt to StrOpt

Change-Id: I7c0bb4d05da781ea03ca43e9acfcf42d74a75f08
Wrong param order when using errors.QueueNotMapped

Now all of the calling for errors.QueueNotMapped are using
the wrong parapemters order, this patch will fix it and
improve the unit test to cover that.

Closes-Bug: 1336141

Change-Id: Id6cc52862465535ef5c1c06649a0ac8bf3485386
Fix broken wiki link

Change-Id: If5211d371e2379472d4c1f32def929c3dd70582a
limit=0 in sqlalchemy means 0 instead of unlimited

We're using limit=0 to query unlimited records. Unfornuately,
it doesn't work when a sql based database is used as pool
management database. In sqlalchemy, it means 0. This patch
will check if the limit is 0 to decide if applying the
limit() query for sqlalchemy.

Closes-Bug: 1337191

Change-Id: Iefc07ac41b17f52f7aa6607b0eb83dbc4cdef088
Use the class queue_name and project for tests

Marker's test used a local queue_name instead of the one defined in the
base class. This caused some tests to fail because the ran on a no clean
database.

The patch makes the test use the queue_name and the project defined in
the class.

Change-Id: I5a1682e835a07a452eb1114da8c87369fe2f48b4
Clean up queues created for certain tests

Some tests weren't cleaning the queues they created. This caused other
tests to fail because of they ran on a no clean database. The patch adds
cleanup calls that will delete those queues once the test ends.

Change-Id: Iac354c34e14783a4b9773c60efbf719c21a9f9d2
Fix typos

Change-Id: Ifd975f2cb5729b03470a4061dc8de8cf226508db
Merge "limit=0 in sqlalchemy means 0 instead of unlimited"
Merge "Wrong param order when using errors.QueueNotMapped"
Primary key for pool in catalogue table is unreasonable

Based on current implement of sqlalchemy driver, we're setting
primary key for pool, but unfortunately, it's incorrect, because
user will definately put many queues for one pool. This fix will
remove the primary key for pool and imporve the unit test to
cover it.

Closes-Bug: 1338907

Change-Id: I20b4176e96760356dfd23211d7170c074db8254b
Switch over oslo.i18n

oslo.i18n has recently been released. This patch switches marconi over
oslo.i18n. As per oslo.i18n's instructions, a new i18n module has been
added under marconi. This module defines the translation globals and
imports the necessary functions from oslo.i18n.

The patch doesn't change the way Marconi does translation, this means
that a `_` function is still being injected to the builtins.

Note that the gettextutils module is still a required module from
oslo-inc because there are oslo-inc modules that depend on the old
gettextutils module.

Closes-bug: #1314300

Change-Id: Ifb8f3296d1a0e2483ebd1c8d868b7359ecc99fb5
Merge "Switch over oslo.i18n"
Merge "Changing default type for pooling Catalog storage driver"
Make storage/pooling reflect storage/base

Controllers wrappers for pooled context wasn't fully compatible with the
APIs defined in storage/base. Order of parameters was different and
default values was not specified or specified incorrectly.  In
particular in pooled setup default limits were None in message and claim
controllers.  This commit changes them to be the same as in non-pooled
setup.

Also tests for testing default limits were added.

Change-Id: I2b83383975986179813df7a897d78852a532564e
Closes-bug: #1324587
Merge "Start scratching Queue Flavors api"
Run storage unit tests in pooled context

Enable storage unit tests for pooled context. This patch adds check for
pooling in test config in test initialization and creates appropriate
wrappers.

Also changes to sqlalchemy pooling controllers were made: in pooled
context project cannot be None due to constraint in database.

Change-Id: I59a663cef5b761e9470b8870d07cea03f5dac98b
Updated from global requirements

Change-Id: I1770c8f0a05e087889c4b573675f70cb7d1dd617
Merge "Primary key for pool in catalogue table is unreasonable"
Merge "Make storage/pooling reflect storage/base"