Fix the priority of CLI args vs config file values

Fixes bug #1176817

The API enforces a special requirement for CLI options - they must be
registered before the command line is parsed.

This means that as we parse the command line - and parse config files
specified on the command line - we can fully process CLI options whether
we find values for them on the command line or in config files.

This allows us to fundamentally change how we reconcile values specified
on the CLI with values specified in config files. No longer do we have
to first look at the set of values found on the command line and then
look at the values found in config files. Instead, we can treat all
values for CLI options as if they were found on the command line, even
if they were actually found in config files.

The long and short of this is that if you do:

  --config-file foo.conf --blaa --config-file bar.conf

then '--blaa' will override any value for the 'blaa' option in foo.conf
but we can also override the 'blaa' value on the command line from
within bar.conf.

Change-Id: I0a584a3c26ddadf24e3f473c773ee34a914667b3
python3: Introduce py33 to tox.ini

Introduce py33 to tox.ini to make testing with
python3 easier.

Change-Id: I3cbd8f65c626cfbb5df647dece25641040872f36
Signed-off-by: Chuck Short <chuck.short@canonical.com>
Enable pep8 E125 check (w/o any changes).

Change-Id: Ibda6c7ec990a72c660e043857723049721c60166
Merge "Enable pep8 E125 check (w/o any changes)."
Merge "python3: Introduce py33 to tox.ini"