Feature/fog provider plugin

This single plugin replaces the `joyent_provider`, `openstack_provider`, and `rackspace_provider` plugins. It can easily be extended to support any provider which is supported by the `fog` gem. The current version of the plugin uses `1.21.0` of fog. This fixes #288 and paves the way for increasing provider support more easily.

OpenStack:
- Changed `openstack_ssh_key_id` to `openstack_keyname`
- Changed `identity_file` to `openstack_keyfile`

Rackspace:
- Added `rackconnect_wait` to force servers to wait for RackConnect before confirming
- Added SSH key pair options as user options (`rackspace_keyname` and `rackspace_keyfile`)
i could be wrong... something to follow up on later, but i think the password is only for api and not used as ssh credential.  maybe some legacy use-case...