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.
If I'm reading this right, idempotence is only on the name of the server, not any other associated data such as metadata or image. Is that intended? In the rax module idempotence was more fine grained, but that had a lot to do with internal needs.