Use mutually exclusive on nova floating ip params

ansible knows how to deal with mutually exclusive parameters, so
instead of coding that ourselves, use it.
Specify nova image and flavor by name

Putting uuid and numberic identifies in playbooks is fragile, especially
with cloud providers who change them out from under you. Asking for
Ubuntu 14.04 is consistent, the UUID associated with that is not. Add
mutually exclusive parameters to allow for specifying images by name and
flavors by RAM amount.
Add ability to filter on image and flavor names

The fun part about having multiple vendors providing the same cloud
is that while their APIs are the same, what they do with their metadata
tends to be ... fun. So in order to be able to express sanely what you
want without needing to stick tons of unreadable uuids in your config,
it turns out what sometimes you need to further filter image and flavor
names. Specific examples are (deprecated) images in HP Cloud and the
Standard and Performance flavors on Rackspace.
Cleaned up nova_compute documentation

Added version_added tags as well as a few more examples.
Update existing nova instances with current ip

During the state check, check IP address information. This gets us
two things. The most obvious is that for direct IP management, a
change to the config will reflect in the config of the instance. But
also, if we succeed in creating the instance but fail in adding an IP,
this should let us re-run and arrive in the state we were expecting.
Update the nova inventory plugin with new ip code

The provisioning module knows more about how nova deals with IP
addresses now. Ensure that the inventory module is similarly as smart
by separating out the logic into the openstack/module_utils.
Fix a typo in gem module documentation
Add nova config drive support

Config drive can be enabled on nova by passing config_drive=True.
That's a pretty easy feature to support.
Rename nova filters to include and exclude

jeblair says: "having 'flavor_filter' be inclusive, and 'image_filter'
be exclusive is kind of mind blowing" and I agree. Let's be more
explicit.
Pass region_name to nova_keypair

Again, on things with regions, when we're configuring it, we should
actually pass it in to the compute constructor.
Improved handling of already terminated instances

It is possible to create an instance, terminate the instance and then
attempt to recreate the instance with the same parameters. In this case
`ec2.run_instances` returns a reservation list containing the instance ids
but the logic gets stuck waiting for the instance to exist in the call to
`ec2.get_all_instances`, even if wait is no).
Escape "_" in database name for "SHOW DATABASES" statement
Add version_added attribute for regexp parameter.
Include unicode and var_precedence tests in 'all' target
Merge branch 'bug8392' of git://github.com/gnosek/ansible into devel
Add some whitespace to make paramiko_ssh more browseable
Use atomic move function on known host file in paramiko to prevent rare occurance of Control-C
during file operations.
Remove unnecessary unicode conversions from parse_kv

Fixes #8425
Revert ""allow_no_value=True" for ini_file module so /etc/my.cnf can be read without a problem"

This reverts commit cbdc9f1153e665fe0e62a11ed7c244adb83ecbd9.

Code needs to make allowances for particular python versions and try/except
around this block.
Fix literal block multiline parsing

Fixes #8394