Allow for skipping thread_yielding

When greenthreads aren't being used this call is not
so useful and since oslo.db is a library it can't be
guaranteed that those using it will be also using
eventlet (or similar library).

Change-Id: Ib06d3761fa3f6d4d089357b396ea8c84d41ee835
Make get_session() pass kwargs to a sessionmaker

get_session() method is used to construct a new SQLAlchemy session
instance. Currently, it takes two keyword arguments which are used
to configure the Session instance to be created. Actually, there are
more arguments which can be passed to a sessiomaker instance. oslo.db
should not stay in the way of a developer who wants to use specific
features of SQLAlchemy session: it should handle oslo.db specific
arguments and pass keyword arguments as is when calling the
sessionmaker.

Change-Id: I1f577a30586eafe1295bcbd15a6a881e9f7f65ab
Remove common context usage from db model_query()

Currently, function model_query() from oslo.db.sqlalchemy.utils uses
is_use_context() function in order to determine whether a normal or an
admin user request is being processed. But usage of RequestContext is
not unified across OpenStack projects, so there is no way for oslo.db to
guarantee it processes project_id/deleted filters correctly here.

To remove this ambiguity, project_id/deleted filters should be passed
explicitly instead. At the same time, developers of OpenStack projects
are encouraged to provide wrappers for oslo.db model_query() function,
so that they could determine the values for project_id/deleted filters
depending on how they use RequestContext in their project.

Closes-bug: #1288846
Change-Id: Iec5cbbc44cf9626f0464ab684dff1ba37e006151
Remove common context from oslo.db

Common context module usage was removed from model_query() so we can
remove it from oslo.db

Change-Id: I7fc503f2d0ff761235c478fef62cf44ca94670f5
Added ``docs`` environment to tox.ini

Added the new tox environment to build docs.
Fixes in oslo.db documentation building

Change-Id: Icab4f299df3d8a4c40dc4fd7292609109f206afd
Add eventlet.tpool.Proxy for DB API calls

Ability to use thread pooling for DB API calls should be returned in
oslo.db as DB API wrapper.

Base on the fact that this wrapper is optional, `eventlet` should
not be added in requirements.

bp add-tpool-proxy-wrapper

Change-Id: I2343556c157e9f0f695e14ca0283914ef23c972c
Merge "Allow for skipping thread_yielding"
Merge "Make get_session() pass kwargs to a sessionmaker"
Handle slave database connection in EngineFacade

Make it possible to use an additional (aka, 'slave') database
connection. This might be useful for offloading of read operations
to reduce the load on the RDBMS. Currently, this is only used in
Nova, but can be ported to other projects easily.

Change-Id: I4296347bb9ee0743738fe1126d1cef8e43b9f96e
Merge "Add eventlet.tpool.Proxy for DB API calls"
Merge "Added ``docs`` environment to tox.ini"
Merge "Remove common context usage from db model_query()"
Merge "Remove common context from oslo.db"
Merge "Handle slave database connection in EngineFacade"