When parsing the openstack_user_config.yml file, the code would not
account for user mistakes when multiple IP addresses were specified for
the same hostname. When multiple IP addresses were specified, the last
one parsed would be written to the inventory.
This change instead throws a runtime error when this situation arises,
so that the invalid config cannot be written.
The tox.ini configuration is modified to make sure that the insert order
on the configuration dictionary is the same on every run of the tests.
Were this not set, the insertion order may well change dependon on the
hash seed, which would cause test failures because the assertions would
not match.
An OrderedDict is also used to ensure platform differences don't affect
testing order. The behavior of this class shouldn't differ from normal
dictionaries in a way that invalidates the test cases.
Change-Id: I7c724b1dd668a8372bf2dafaf3461e0a3cb1a557