Python 3.x compatibility

Some mechanical translation to improve compatibility
with Python 3.x

Change-Id: I47b930be9f5d76f99001c2a202c689c0c1f91e65
Remove debug print statements from tests

Added by me in commit ae93f9f

Change-Id: Idfaedd01be77b41f049cff7e40da65dd5831b091
Fixes OptGroup title set typo

Fixes bug #1175096

Change-Id: Ie64bd2f7a87af27f5fd202728d03423fd66b8b68
Use builtin startswith and endswith methods in iniparser

Change-Id: Icbcd9d9c2f8ebc5f827772a0d8dbfba3f6c72da3
Add python3 compatability support

Add partial python 3.x compatibilty support.

Change-Id: I52a3192a50b7f07d95b99c9c1b5abcd403b6dde8
Signed-off-by: Chuck Short <chuck.short@canonical.com>
Update build to use pbr.

Change-Id: If27004df4c756ebc0b00784cb0445ab46ea43d97
Upgrade testing to use testr.

Change-Id: Ib0e73c125c908898735e60e5b435468bc2b08316
Re-work test_cli to use testscenarios.

The cli tests were already organized in a manner that lets testscenarios
do what it does. Reformat the code a little bit to be a single test plus
a list of declarative combinations of scenarios and let testscenarios
do the work of turning that into a set of test cases.

Change-Id: I4e10d9eaeb313c724f0012babac465e37be4fa3d
Merge "Fixes OptGroup title set typo"
Merge "Use builtin startswith and endswith methods in iniparser"
Made a couple minor textual documentation / typo fixes.

Change-Id: I8473a41cacb0a39aa0880e7b22fdc33e7717f54e
Merge "Update build to use pbr."
Merge "Upgrade testing to use testr."
Merge "Re-work test_cli to use testscenarios."
Switch to flake8/hacking instead of pep8+pyflakes.

Change-Id: I26a5b2b1923d6301a5ebdb6474d68a489f9fbe72
Normalizes non lowercase option group names in conf files

To avoid inconsistency of option group name format used in conf files,
this patch normalizes group names to all lowercase names

Implements bp cfg-lowercase-groups

Change-Id: If8e6c671be776a708a7200e52e4897a8a3b90bdf
Remove some redundant code for bool opt actions

You can see how this code came about here:

  https://review.openstack.org/#/c/14125/20..21/openstack/common/cfg.py

but the only time BoolOpt:_get_argparse_kwargs() gets passed the action
kwarg is from _add_inverse_to_argparse() where we pass 'store_false'.

Change-Id: Ic6aa123680b5eb9aa220152389f3535b703fdf7b
Move --config-dir tests into their own test case

For some reason these were in TemplateSubstitutionTestCase.

Change-Id: Ie2ce1a2a4fd20e5255434c5a5ccf4bc42a5e4beb
Add test cases for default_config_files

It's pretty important we actually test the behaviour of falling back to
a default list of config files. Very surprising that we weren't alrady
testing this.

Change-Id: I903384247480946cc6aed38528695a4b89e717d2
Add CLI vs config file priority test

Add a test to show the current behaviour of config files overriding
CLI values, even where the CLI value comes after the --config-file
argument.

Change-Id: Iaa6dcee49339c096278cc11945cc244a665e6a0a