Ensure options passed to update.py are sane

Some of the example commands in the update.py docstring seem like
they should work but don't because of the way we parse the
positional argument.  This means that specifying a list of modules
and a positional target directory doesn't work, because the module
list ends up being overwritten by whatever is in the target
directory openstack-common.conf.

This change checks for that situation and does the right thing.  It
also detects when a config file and a list of modules was explicitly
passed to the script, which will not work as expected due to the
behavior above.

Change-Id: Ib04401a1e8bba20fdee92cbca69ba6d1ba689c24
Merge "Ensure options passed to update.py are sane"