Add --to and --from to pgbackups:transfer

Adds new `-t, --to` and `-f, --from` flags to `pgbackups:transfer` to explicitly specify source and destination databases.

Wraps the work in a confirm block, because it's destructive. 

Example usage:

```console
$ heroku pgbackups:transfer                                      
 !    pgbackups:transfer requires at least a destination database

$ heroku pgbackups:transfer -t gray          

 !    Transfering data from DATABASE_URL to GRAY
 !    To proceed, type "<app_name>" or re-run this command with --confirm <app_name>

> <app_name>

Pg_dump... 13.2kB -

$ heroku pgbackups:transfer -t gray -f silver

 !    Transfering data from SILVER to GRAY
 !    To proceed, type "<app_name>" or re-run this command with --confirm <app_name>

> <app_name>

Pg_dump... 13.2kB \

$ heroku pgbackups:transfer -t gray postgres://wna***:***-***@ec2-54-***-238-***.compute-1.amazonaws.com:5432/d***
"https://s3.amazonaws.com/***/***@***.com/***.dump?AWSAccessKeyId=*******&Expires=*****&Signature=****"

 !    Transfering data from Database on ec2-54-***-238-***.compute-1.amazonaws.com:5432/d*** to GRAY
 !    To proceed, type "<app_name>" or re-run this command with --confirm <app_name>

> ^C !    Command cancelled.
```

There's something I can't figure out though. When I use a full `postgres://` url , something somewhere echoes out the `pgbackups:url` value ? No idea where this comes from ¯\_(ツ)_/¯