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`)
this file should require only ``lib/fog_provider``, which in turn should then require ``fog_provider/[joyent,openstack,rackspace]``.  This is more gem-standard, and will work if we convert these to gems (gems only load whats in top-level /lib)