Add method quote_plus in module py3kcompat.urlutils

Method quote_plus is used in some projects. We need add this method
to work with Python 3. This is an example:
https://github.com/stackforge/stackalytics/blob/master/dashboard/helpers.py#L174

Change-Id: I15ed496d947cf2b56eb6645b6b85c0745ab4f682
safe_log Sanitize Passwords in List of Dicts

sanitizes password fields found in lists of dicts for messages
before logging.

Change-Id: Ic3c3f7d43570fe99411a3f6bf9ef70de44104c53
Closes-Bug: #1268459
Remove "vim: tabstop=4 shiftwidth=4 softtabstop=4" from headers

This was removed from the the following files:
 - openstack/common/db/sqlalchemy/provision.py
 - openstack/common/notifier/proxy.py

Change-Id: If5a73cb6a5039d04c79a343851f77f76335ec3a5
Run tests/unit/test_funcutils.py in PY3 enviroment

Fixed `func_closure` usage in openstack.common.funcutils module
and `func_code` usage in tests/unit/test_funcutils.py file.

Related to blueprint make-python3-compatible

Change-Id: I68d206c5fdb4143c7618449b83d102145e6ba54e
Implement cache abstraction layer

This patch implements a cache abstraction library that can be extended
and supports multiple back-ends.

The patch being submitted defines the library's API and implements a
first in-memory back-end, which is the default one and can be used for
development purposes.

Configuration variables
=======================

The library introduces 1 optional configuration variable:

    * cache_url: The cache url. For example:
        memory://?default_ttl=2

`cache.register_oslo_config` needs to be called explicitly with a
ConfigOpts instance in order to register this parameter. The library can
be used without oslo.config.

Installing back-ends
====================

Back-ends are loaded using stevedore, which means, they most be
installed as entry_points under the `openstack.common.cache.backends`
namespace. See `setup.cfg`.

NOTE: Some of the ideas where taken from Django's cache library and others
from Oslo's memcached module.

Implements blueprint cache-backend-abstraction

Change-Id: Ic2a84ecef949fb28a7d05fe1b2c54ca91da3983c
Remove unused variables

Refactor codes, remove unused variables. This patch is the first step.
F841 check in tox.ini will be enabled to make sure that there are no
userd variables in project anymore.

Change-Id: I3edd5bb5e3c203d1d3d92261ed74a201878d6f5a
Partial-Bug: #1268234
strutils bool_from_string, allow specified default

In certain cases, we may want to return true by default, e.g see
the discussion in https://review.openstack.org/#/c/65725/, so provide
a "default" argument which can be used to override the existing default
False response.

Change-Id: I6c86b03125f263cf4843b4cf1addf9e9812f53a8
Merge "strutils bool_from_string, allow specified default"
Merge "Remove unused variables"
Merge "safe_log Sanitize Passwords in List of Dicts"
Merge "Add method quote_plus in module py3kcompat.urlutils"
Merge "Run tests/unit/test_funcutils.py in PY3 enviroment"
Replace rpc/impl_zmq maintainer

Eric Windisch is no longer maintaining the impl_zmq driver.
Paul Mathews and Mike Wilson have agreed to share
maintenance duties.

Change-Id: I66225e65d049326adeb4ac7cffd24e261c613b80
Add a db check for CHARSET=utf8

This is to prevent confusing migration errors caused by
tables having mixed character sets like latin1.

Change-Id: I19da8d5e2d972c78d0f9fb4325445f538ed35600
Closes-bug: #1261605
Merge "Replace rpc/impl_zmq maintainer"
Merge "Implement cache abstraction layer"
Use entry points to discover options in libraries

When generating the sample configuration file, we want to include
options defined in libraries used by the application (especially
oslo libraries). Add a section to the sample generator to look
at entry points in the 'oslo.config.opts' namespace and include
their return values in the output.

Implements: blueprint improve-config-discovery-for-docs
Related-Bug: #1241566

Change-Id: I635cd8e60ca687851c9dd891667ecc2ca3e8720c
lockutils: remove local usage

This doesn't seem like it's used by anything any more, so let's just
remove this local usage altogether. This also drops the lock check from
RPC, which shouldn't be a problem considering that this library is
already deprecated altogether.

Change-Id: I87ff0338adcfa092fd21acad5cf41d5746be1efe
lockutils: do not grab the lock in creators

The functions used to create the lock should not grab it, as it is not
their roles to do so. Instead, the lock is acquired in the decorator
using these functions.

Change-Id: Ia6d550869ae1c60883658af1c385d49728b6cd60
lockutils: expand add_prefix

There is no need to build a function closure each time we run through
this code. It is more effective to expand the code right away, so let's
do that.

Change-Id: I13174727e88bf5aa86659b6271d13ebcddc7708c