Implement Internet Gateway and VPC attachment

Please note that this takes a different approach for
all VPC resources types. Previously the resource_id matched
the underlying quantum resource UUID (or a composite of the
underlying UUIDs)

This had some problems, including:
- it was resource_id abuse
- it required extra quantum _list and _show calls to get enough
  data to wire up new resources
- it made the already difficult job of mapping VPC <-> quantum
  even harder

The new approach is to store all quantum UUIDs in resource metadata.
The resource id is just the resource name, so resources can easily
fetch other resources from the stack by ref/name then look up
their metadata to find the underlying quantum UUIDs to perform
operations with.

Implements blueprint resource-type-internetgateway

Change-Id: I69937254566b74f173439b3c5ce4c4e8d8c49afa