handle error properly in prepareTo - fix #26, fix #28
Use bufio.Reader
Use Postgres simple query for Execer with 0 args.
Use simpleQuery for prepared Exec()s, too.
Fix for #31, incorrect error on prepare failure.
Discard notice messages.

When running a simple query like 'DROP TABLE IF EXISTS foo;', Postgres
will send a warning if "foo" does not exist. This patch makes it ignore
the warning.

It is not well tested, also I am unsure whether or not more data needs
to be consumed. However, instead of putting into this specific issue,
the following needs to be considered (from
<http://www.postgresql.org/docs/9.1/static/protocol-flow.html#PROTOCOL-ASYNC?):

  Note: At present, NotificationResponse can only be sent outside a
  transaction, and thus it will not occur in the middle of a
  command-response series, though it might occur just before
  ReadyForQuery. It is unwise to design frontend logic that assumes
  that, however. Good practice is to be able to accept
  NotificationResponse at any point in the protocol.
Merge remote-tracking branch 'jgallagher/issue31'
Revert "Use bufio.Reader"

This reverts commit a6c22b1152ab04b5ecab9eb123c89491bc81183a.
LICENCE - fixes #40
Switch PGError to interface and implement SimplePGError
Add recover function that will report the PG reason.

Update Open() to use this so connection errors can be seen.
may be too harsh
Merge remote-tracking branch 'traviscline/expose_pg_errors' into tmp
Add result parsing benchmark

To see what's slow, try this:

        go test -c

        # Run for 5s
        go test -test.bench='BenchmarkResultParsing' \
           -test.cpuprofile=cpu.prof -test.benchtime 5

        pprof pq.test cpu.prof

In the pprof (sometimes called google-pprof) prompt:

        (pprof) web

Signed-off-by: Dan Farina <drfarina@acm.org>
reduce network reads/writes with bufio
fix #46 - ignore all notices
Ignore ParameterStatus responses to simpleQuery.

This allows running, e.g., "SET TIME ZONE 'US/Eastern'".
Change timeFormat to send full precision/TZ info.
Add more expansive timezone test.

Also includes a fix for the "30 minute offset" timezones referenced in
issue #51.
Add failing test for error checking on 64 bits int

Currently some error checking in buf.go is done by converting an uint32 to
int. For 32 bit int this works correctly, however when int is 64 bits,
0xffffffff != -1 and this error checking fails, leading to a slice out of
bounds panic.

Some editorialization has been done to use a VALUES literal as opposed
to temp table/inserts in the test.

Signed-off-by: Daniel Farina <daniel@fdr.io>