Implements pg:attach and pg:detach

This enables attaching and detaching a database to other heroku apps. By
doing this, any database URL changes propoagate across apps, such as
credential rotations or failover events on premium databases with HA.

```
$ heroku pg:info -a hgmnz-attachment-test
hgmnz-attachment-test has no heroku-postgresql databases.
$ heroku pg:attach hgmnz::purple -a hgmnz-attachment-test
 !    WARNING: Destructive Action
 !    This command will affect the app: hgmnz-attachment-test
 !    To proceed, type "hgmnz-attachment-test" or re-run this command with --confirm hgmnz-attachment-test
> hgmnz-attachment-test
Attaching to hgmnz-attachment-test as HGMNZ_HEROKU_POSTGRESQL_PURPLE_URL...
$ heroku pg:info -a hgmnz-attachment-test
=== HGMNZ_HEROKU_POSTGRESQL_PURPLE_URL
Plan:        Premium Mecha
Status:      Available
HA Status:   Available
Data Size:   81.14 GB
Tables:      18
PG Version:  9.3.2
Connections: 204
Fork/Follow: Available
Rollback:    from 2014-01-26 03:15 UTC
Created:     2013-12-04 08:35 UTC
Maintenance: not required
$ heroku pg:detach HGMNZ_HEROKU_POSTGRESQL_PURPLE_URL -a hgmnz-attachment-test
 !    WARNING: Destructive Action
 !    This command will affect the app: hgmnz-attachment-test
 !    To proceed, type "hgmnz-attachment-test" or re-run this command with --confirm hgmnz-attachment-test

> hgmnz-attachment-test
Detaching HGMNZ_HEROKU_POSTGRESQL_PURPLE_URL from hgmnz-attachment-test
$ heroku pg:info -a hgmnz-attachment-test
hgmnz-attachment-test has no heroku-postgresql databases.
```