Add new set of OpenStack modules

The new modules do all of the keystone v3 and are using common library
code to be consistent. These are aimed at consumers of the cloud -
subsequent os_ modules for cloud admin may have project names ... like
os_keystone_tenant, for example - with the reasoning being that an
end user of a cloud should not need to know service code names, but a
cloud administrator certainly knows what's running.
This could be a false positive. You check if the ip is attached, but not that it's attached to the desired instance. If the ip is already attached to a different instance, this should be an error.