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.