test against all relevant tornado versions (3.0 was released and breaks py2.5)
Merge pull request #15 from mreiferson/tornado_15

force tornado 2.4.1 in travis tests
automatically reconnect when not using lookupd
Merge pull request #14 from mreiferson/orphaned_conns_14

orphaned connections when not using lookupd
cleanup and remove deprecated async mode

* replace get_task_method with process_message
* rename NSQReader -> Reader; move init stuff around
Merge pull request #12 from mreiferson/cleanup_12

cleanup deprecated async=True
bump 0.4.0-alpha
always set initial RDY count to 1 (see comments in commit)
bump version to 0.4.0-alpha2
Merge pull request #16 from mreiferson/initial_ready_16

initial RDY count starvation
improve logging to always show task for connection
ensure that max_in_flight is never < num_tasks
Merge pull request #17 from mreiferson/tweaks_17

logging improvements and redistribution tweaks
bump to 0.4.0-alpha3
add configurable heartbeat_interval
bump to alpha6
Merge pull request #21 from mreiferson/config_heartbeat_interval_21

configurable heartbeat_interval
enable feature negotiation; support server max_rdy_count; better logging
wait 2x heartbeat interval before closing conns:

* user reported issues of producers with no message flow having
  their connections closed (and their message handlers performed
  sometimes long blocking operations).  the problem is that if
  the blocking operation happens just before you expect
  another heartbeat when the ioloop wakes up it fires the timer
  and those conns are closed (even though presumably a heartbeat
  is sitting waiting to be read).
Merge pull request #22 from mreiferson/feature_negotiation_22

support feature negotiation/server max_rdy_count