Add support for requirements.txt.

In prep for moving the projects to requirements.txt and
test-requirements.txt, we need to have our legacy install_venv
codebase support finding requirements in the right place.

Change-Id: I0f300c6bb1792c81e2133a41a5631f2dd4c021ba
Merge "Add support for requirements.txt."
Changed processing unique constraint name.

Function `_raise_if_duplicate_entry_error()` modified respectively to
new unique constraint name convention.

We found that current constraint name convention allows us create
constraints with duplicate names. It happens if we will add constraints
in different tables with same column names (for example, `name`,
`deleted`). In this case we can not create new constraint due to mysql
limitation (it requires unique constraint name for database)
To solve this issue unique constraint name convention was changed
from "uniq_c1_x_c2_x_c3" to "uniq_t$c1$c2$c3" where `t` it is table name
and columns `c1`, `c2`, `c3` are in UniqueConstraint.

Function `_raise_if_duplicate_entry_error()` parse error from
database and provides us correct column names in error message.
So now we receive correct error message from function.

Change-Id: I4a507deba97c499fcd9738d980e36ca0f9454b71
Fixes: bug 1182054
Import oslo.config configuration file generator

This is stolen from Nova with a fix stolen from
https://review.openstack.org/#/c/30251/

Obviously the final goal is to stop copying this file into each project and
start improving it, to move it finally in oslo.config.

Change-Id: Ie81a5c3db1dc6092bcc6179ab0ab9499239f0bbc
Signed-off-by: Julien Danjou <julien@danjou.info>
Merge "Changed processing unique constraint name."
Merge "Import oslo.config configuration file generator"