Clearer error messages for `supabase link`

Is your feature request related to a problem? Please describe.

When linking projects for local development with supabase link, you get the following error for the following cases

  • Your host isn't in the IP allow list.
  • Your host is in the IP allow list, but you've provided an invalid password
failed to connect to postgres: failed to connect to `host=aws-0-us-east-1.pooler.supabase.com user=postgres.vizglusznacdygtioulv database=postgres`: server error (FATAL: SSL connection is required (SQLSTATE XX000))

Searches on this error send you down incorrect (and time-consuming) rabbit holes to threads like these

Describe the solution you'd like

Finer-grained error messages. When I switch to trying to connect with psql, I get the following errors, so I suspect we can provide them in the error output from supabase link

# host not in IP allow list
psql: error: connection to server at "aws-0-us-east-1.pooler.supabase.com" (52.45.94.125), port 6543 failed: FATAL:  Address not in tenant allow_list: {xxx, xxx, xxx, xxx}
connection to server at "aws-0-us-east-1.pooler.supabase.com" (52.45.94.125), port 6543 failed: FATAL:  SSL connection is required
# incorrect password
psql: error: connection to server at "aws-0-us-east-1.pooler.supabase.com" (44.216.29.125), port 6543 failed: error received from server in SCRAM exchange: Wrong password