Fix panic in bench_test when database auth is not set.
New parseOpts implementation. Needs cleanup.
Revert "New parseOpts implementation. Needs cleanup."

Pushed to the wrong repo. Sorry.

This reverts commit 0b2fbdf8f35e6a3a457aeed8164bdc0ecd2881b5.
Improved parsing of connection options

The code is based on conninfo_parse from the C version of pq. I've
included additional test cases.

This also slightly changes the semantics of Open to return an error if
the connection string cannot be parsed instead of panicking.
Run a query without prepare if no args are passed
Add Matt Robenolt to contributors
Fix query error handling
Adding Nicolas Patry as contributor

The last commit uses his test case.
Adding Kelly Dunn as contributor

The last fix relies partly on his approach.
Panic on well-defined but unsupported settings

When well-defined settings that are not supported by pq are
present in the environment, we currently ignore them. This
panics instead. Since unexpected values for settings like
PGTZ or PGCLIENTENCODING (which we do not actually support)
could cause data integrity issues, we should complain when
these are present.
Don't panic when settings are as expected

If libpq env vars that we can't allow customization of are
present but set to the values that we need, don't panic--just
ignore them.
Do not pretent we support client_encoding

All pq code assumes (quite sensibly) that PGCLIENTENCODING is UTF-8.
Setting this to an incompatible value can cause protocol integrity
or data integrity issues.
Add encode/decode benchmarks for timestamptz
Home-grown time-parsing to resolve edge cases
Add a test for the RETURNING clause.
Added a test for errors returned during QueryRow
Create a parser for Arrays, and wire up decode to use it for 1d arrays.

The parser is heavily lifted from the Go JSON parser, with various
tweaks for the PG array syntax (mainly around unquoted strings). It
can handle string, int, float, and bool arrays. The parser has support
for multidimensional array parsing, but this feature hasn't been wired
up to the decoder yet. To do this may require some further changes to
pq.

Currently only supports unmarshaling of data. Marshaling/using arrays
as input parameters can be worked around by using string formatting.
Better NULL handling for unquoted values.

Previously would fall into a null handling mode whenever it encounted a
uppercase N; this was an error if there happened to be an unquoted
string starting with N.
Change package name temporarily