unify Postgres DSN building functionality under lib/postgresdsn
Created by: slimsag
In #25667 I reduced one set of duplicated (and incorrect) Postgres DSN construction code. This PR further unifies how we build Postgres DSN strings into a single shared lib/postgresdsn package.
There is no behavioral change, the code is identical to the previous dbutil.PostgresDSN
.