Timeout if no heartbeat received on time.

Add a read timeout so that the case where no heartbeat is received from
CouchDB is caught. The default value for read timeout allows for three
heatbeats to be missed. Also allow heartbeat and read timeout values to be
configured.

Closes #36.