Make connect_timeout apply to the entire connection procedure

As committed in 9d56fa64939666101a594570df8197, only the TCP connection
establishment part was affected by the timeout.  The new behaviour is
more intuitive and matches that of libpq's.
Improve comment about deadline in dial()

I accidentally wrote "timeout" when I meant "deadline", but I think this
is even better.
Fix bug in dial() when connect_timeout is set

I completely broke this in commit 344cc7146c482865d57b20ef84b5e600.
gofmt
Add ErrorCode.Class()

This returns the "class" of an error, which supports Name() to get the
"condition name".
Small editorialization of the error documentation
gofmt

Not sure I agree with this, but all glory to gofmt..
Merge https://github.com/lib/pq