Handle user-name-defaulting better on more platforms

The principal consideration was the slow and inconsistent (relative to
PostgreSQL.org's libpq) way that the operating system user name was
accessed on Windows.

The mechanism introduces build tags to 'pq': instead of using
user.Current() to fetch the default user name on Windows, use the
morally equivalent Win32 API call used in libpq.

Editorialized by Daniel Farina <daniel@fdr.io>
Add Chris Walsh as a contributor