Transition from migrate to alembic

Toolkit for smooth transitioning from migrate tool to alembic.
Check README for some description

POC: Integration with nova-manage https://review.openstack.org/#/c/60517/

Blueprint: oslo-migration-toolkit
Change-Id: Icfa7d8736a84da1a4890eb417d48bab4c73e1f89
Have the interprocess lock follow lock conventions

The python locking api specifies a acquire/release
function pair. It is nice to have the interprocess
lock api also follow said api so that its objects
can be used in areas where the standard threading
locks are used.

Change-Id: If393bec863ced8c9ef413b4baa3267d2a5b38416
Use threading.ThreadError instead of reraising IOError

The threading API specifies that ThreadError should
be used as the common exception raised from threading
and locking apis so instead of reraising an IOError
reraise a new ThreadError one instead.

Change-Id: Ic06dd211a8a5da074623ac449d27e963dd5ba754
Small edits on help strings

These were initially noted during import into the manuals at
https://review.openstack.org/67502

Fixes include rework of text, missing or extra spaces, wrong
capitalization and no sentence style capitalization.

Change-Id: I56a47de73e0e494a6f770e29dae8065b398ef5af
Co-Authored-By: Diane Fleming <diane.fleming@rackspace.com>
Backport 'ident' from python 3.3 for Oslo's SysLogHandler

To honor RFC5424 add use_syslog_rfc_format config option
(default False, would be deprecated in J after existing
syslog format deprecation) which adds APP-NAME to syslog message
before MSG part to reflect application or service name.
Usable only with use_syslog, otherwise ignored.

During J, the default logging format for syslog should be changed
to always provide APP-NAME, thus use_syslog_rfc_format could be
deprecated in J as well.

DocImpact
Closes-bug: #904307

Change-Id: I3815e6dc47e206e15f9da90ebbba5ca00c3ae641
Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru>
Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
Ported hooks

Decorator and config option definitions for adding custom code (hooks)
around callables.

For example, we can use hooks to easily add specific request headers in
different clients without changing common code.

Change-Id: Ic635d3f6ce32544dbd739515c26b7984e055fb1a
Merge "Ported hooks"
Merge "Transition from migrate to alembic"
Merge "Backport 'ident' from python 3.3 for Oslo's SysLogHandler"
Merge "Have the interprocess lock follow lock conventions"
Merge "Use threading.ThreadError instead of reraising IOError"
Merge "Small edits on help strings"