Feature/google support

GCE support.  some notes:

   * disk creation/confirmation happens first in the create task
   * a data disk of configurable size is mounted to /data if given
   * requiretty sudoers config is disabled if present
   * selinux is set to permissive if present
   * provisioner requires an ssh user/key, which must be configured in the GCE project metadata.  the user can be defined in the plugin ssh_username field (optional, takes precedence), or else defaults to the image/server value
   * GCE default network is firewalled externally on all ports except 22 by default.  some initial firewall configuration or custom network definition outside of loom will likely be needed.
   * the ability to disable ephemeral IP assignment will require fog upgrade to 1.23.  will do in a future PR.

What happens if the server destroy succeeds but the disk destroys fail? When Loom retries the delete, and   connection.servers.get(providerid) gets run again, will it return the deleted server with the disks?  If not we should delete the disks before deleting the server.