Improvements to OpenStack inventory script

This adds the option to use common environment variables instead of the just the INI for common things like password and auth URL.  It creates inventory groups for each key/value in the metadata dictionary similar to the ec2.py scripts (but keeps the special group metadata tag as well for backwards compatibility), and adds the _meta host var dictionary added in 1.3 that speeds things up quite a bit. It also adds a configurable flag as to whether to prefer the public or private IP (fixed or floating) of each instance, and prints the json in a more human friendly format.
I suspect (from looking at https://github.com/ansible/ansible/blob/devel/CODING_GUIDELINES.md#misc-preferences) that @mpdehaan would prefer spaces around `==` a la PEP8.