Fix changing the type of column deleted

SQLite doesn't provide a native implementation of BOOLEAN data type.
SQLAlchemy emulates BOOLEAN data type for SQLite using INT column +
a CHECK constraint.

We've been providing a helper util to change the type of column
'deleted' from BOOLEAN to INT. Due to limitations of ALTER in SQLite,
in order to do that, we omit the original 'deleted' column as well as
the corresponding CHECK constraint when recreating the table.
Omitting of the constraint is more tricky, though. It's implemented
by analyzing the SQL text used for its rendering.  SQLAlchemy
versions 0.8.3+ slightly changed the way constraints are rendered, so
we have to update our util changing the type of 'deleted' column to
work with SQLAlchemy 0.8.3+ on SQLite backend (we aren't using SQLite
in production, but we still need it for running of unit tests).

Closes-Bug: #1252693

Change-Id: Ie92caff005217250de17461f4f87692ad8e96a09
Fix the test using in-file SQLite database

SQLite in-file uses exclusively lock for database, so the connection
must be only one.
Change-Id: I9aad455d1466e4b17579253af47bf1b7e51dbc49
Closes-Bug: #1308032
Bump hacking to 0.9.x series

In order to keep this patch to just a requirements bump, ignore new and
stricter hacking rules that are being triggered. Fixing up the code and
turning these on is out of scope of this patch and is for future patches.

Change-Id: I632655eb975a9f6c2b922c065c029e9870bc2b70
Fix Sphinx directive name

During the build of source code reference of Ceilometer Sphinx reported
the following error: Unknown directive type "code". The correct directive
is '.. code-block::' instead of '.. code::'. This was fixed in the
session.py. The other occurences of this directive were correct.

Change-Id: I7876d0c9e9614a688eb14d9da57bbdbf916a119a
Adding dependency documentation for MySQL.

Merging change I347e1c235bc82d6e510761f4b1c3c3de62994c2f fixing pip
info.

Co-Authored-By: Gauvain Pocentek <gauvain.pocentek@objectif-libre.com>

Change-Id: I9a1b76ed261c69a92cc3e4e6b6100e43f98fea1e
Add psycopg2 to test-requirements.txt

We have a few opportunistic test cases which are skipped in the gate
now because psycopg2 is missing.

Change-Id: Ia5e96ed4a6af7a311d8dc89b00a1fb4cc02f56ac
Merge "Add psycopg2 to test-requirements.txt"
Merge "Fix changing the type of column deleted"
Merge "Adding dependency documentation for MySQL."
Merge "Fix the test using in-file SQLite database"
Merge "Bump hacking to 0.9.x series"
Merge "Fix Sphinx directive name"
Fix kwarg passed twice error in EngineFacade.from_config()

slave_connection keyword argument is passed to EngineFacade init
twice: the first time in code explicitly, and the second time when
CONF.database options are unpacked. Actually, it's better to pass
all the arguments explicitly rather than rely on the fact that
argument names correspond to database options names (now they are
tightly coupled).

Closes-Bug: #1330426

Change-Id: Ic0aaf26e76f68adc48f7ed58fd4c7e9e87648005