Fix incorrect parsing of negative time zones
Fix formatting verbs in test error message
Correctly encode time zones with seconds

The previously used RFC3339Nano format to encode times does not take
seconds into account for time zones. This commit fixes that by appending
the time zone seconds to the formatted time, but only if it's non-zero.

Fixes #286
Add Joël Stemmer to the list of contributors
Fix missing call to processReadyForQuery

There was still one place which didn't update the transaction status
indicator based on the ReadyForQuery message.  Prior to this fix, a call
to Commit might have sometimes erroneously complained about the command
tag being ROLLBACK instead of returning the correct error, "Could not
complete operation in a failed transaction".  Though such an application
would have had to ignore a failed query in the first place, which would
explain the lack of bug reports.

Found while investigating a report from Eric Chlebek in #225, though I
can't come up with a scenario where his problem would have been caused
by this.
Don't return ErrBadConn from Open()

Functionality-wise, there's no reason to return ErrBadConn from Open()
since returning *any* error will make sure that the connection is not
put into the pool.  But there's a very good reason not to return
ErrBadConn; it makes diagnosing problems during connection establishment
completely impossible without either having access to the server logs or
interpreting captured network traffic.

This is a minor backwards compatibility breakage, since we used to
return ErrBadConn in a lot of cases previously.  However, there were
several cases were we returned the real error instead, so any caller
assuming that they would either get a nil or ErrBadConn from Open was
already broken.

Based on initial work from Paul Jolly, after discussions with Paul and
Eric Chlebek.
Merge remote-tracking branch 'pq/master'

Conflicts:
	conn.go