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
Slow down Kombu reconnect attempts

For a rationale for this patch, see the discussion surrounding Bug

When reconnecting to a RabbitMQ cluster with mirrored queues in
use, the attempt to release the connection can hang "indefinitely"
somewhere deep down in Kombu.  Blocking the thread for a bit
prior to release seems to kludge around the problem where it is
otherwise reproduceable.

DocImpact

Change-Id: Ic2ede3046709b831adf8204e4c909c589c1786c4
Partial-Bug: #856764
Merge "Slow down Kombu reconnect attempts"
Merge "Ensure options passed to update.py are sane"