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.