Handle OK responses
Not sure why was needed before.

Reading the specs of the protocol this now seems unnecessary.
Remove reconnect on connection close.

I'm doing several stress test and the only case where this seems to
occur is not when the connection is in a "bug" state.

Basically I found that this happens (correctly) when we are using
multiple threads and we `stop` the connection.

So maybe on thread close the connection meanwhile the other is receiving
an `_heartbeat_`.

So I'm going to remove this also because the `reconnection` in this
scenario should not happen and so the `write` raise an unhandled
exception.
Started a general refactoring

- Use method(:name) where possible
- Removed some dead instance variables
- Removed SubscriberQueue for now since seems not working
- Removed unused options
- Start adding thread_safe gem where possible
- Start Using atomic where possible
Removed unused variables and fixed subscriber retries.
Refactor Publisher socket read logic to more durably handle heartbeats.

Conflicts:
	lib/nsq/publisher.rb
Fix stop
Fixed atomic dependency, improve api.
Assume we get back always an utf-8 message
Pass correctly a block
Merge pull request #2 from DAddYE/master

Various fixes