Let Postgres handle default settings

Postgres provides its own defaults for missing connection string options. Rather than recreating these, users should be able to provide empty options that aren't passed into the connection string.

This also fixes the issue where providing only some blank options results in an erroneous connection bytestring.