Update link to user docs
Remove option to set a connection timeout

pg8000 internally uses a file-like object using socket.makefile() but
you can't use this if the underlying socket has a timeout. See:

https://docs.python.org/dev/library/socket.html#socket-objects

In the docs on socket.makefile() it says:

  The socket must be in blocking mode; it can have a timeout, but the
  file object’s internal buffer may end up in a inconsistent state
  if a timeout occurs.

Not sure of the consequences of an inconsistent buffer, but seems wise
to avoid it!
Handle connection messages separately

We currently use handle_messages() for handling all messages. However,
by separating out message handling during the connection phase and the
query phase we end up with two bits of code, each of which is simpler
than the single handle_messages() code.