Add link to why we have to make this factory due to late binding

Since python decorators do not at the time of decoration have
access to there instance that they are attached to we can't create
the functor task out of the method at the time of decoration but
instead we have to create a factory and late bind a functor task
to the function that was decorated for the function that was wrapped
to be executed correctly.

Change-Id: I8951ff036061ee18caaf38f10fb7ce6745433d91
Allow the lock decorator to take a list

In the cases where a list of locks is desired
to be acquired it would be nice to use the same
lock decorator to accomplish this.

Change-Id: Ib25329eef330d1b434bc3e8e79d7bb38f450c7ae
Remove the common config since its not needed

The common config currently isn't used (but will be
later, potentially in the distributed commit) so for
now remove it as its a major user of oslo.cfg which
we are trying to remove.

Part of blueprint eliminate-oslo-cfg

Change-Id: If86291511e5b304ca77505b4afd47b1663b316f5
Merge "Allow the lock decorator to take a list"
Merge "Remove the common config since its not needed"
Merge "Add link to why we have to make this factory due to late binding"
Move toward using a backend+connection model

Instead of having a pretty restrictive module
based api for saving logbook objects it is much
more friendly and extensible to move toward a more
ceilometer-influenced engine and connection based
storage backend using stevedore to do the backend
loading instead of a custom registration/fetching
mechanism. This allows us to provide a base object
oriented backend api that can be easily inherited
from to allow for customized & pluggable backend
storage modules.

Implements blueprint stevedore-based-backends
Implements blueprint ceilometer-influenced-backends

Change-Id: Ib5868d3d9018b7aa1a3354858dcb90ca1a04055d
Remove usage of oslo.db and oslo.config

Remove further reference to oslo-incubator database
layer which itself uses oslo.config and remove its
dependencies and resync with oslo-incubator after
applying these changes.

Implements blueprint eliminate-oslo-cfg

Change-Id: Ie1ee7affae75c60833c012c921e50d7b14026101
Use six string types instead of basestring

To increase our python3 compatability we should
attempt to use the six module for known issues
that are likely to happen in python3 when comparing
to string types.

Change-Id: Ib6fc32138e218c8b45023ca37d87b742694b8349
Fix linked exception forming

There was a variable usage error in that 'exc_infos'
does not need to be three and also the exc_info[2] does
not need to be not-none if there is no traceback (which
is a valid usage/case of exc_info).

Change-Id: Iddb979e5cb7df424ee218854e0c766e5b45e3e29
Use executors instead of pools

A executor is a more generic concept than a pool and
also seems to work better with eventlet. This is also
a more supported model of performing concurrent operations
than using the mostly unknown multiprocessing thread
pool implementation.

Fixes: bug 1225275

Change-Id: I09e9a9000bc88cc57d51342b83b31f97790a62e9
Merge "Fix linked exception forming"