Merge pull request #216 from bakkerthehacker/master

Fix reconnect not updating all connection properties causing event related issues
Fixed exponential reconnect not wait twice as much.
Moved possibleAuthErrorHandler to addAllListeners.
Fixed reconnect removing all externally added events.
Refactor project. At the moment it is losing connection on start, investigating...
Fix connect error, seeing an unexpected frame error now
Fixed an issue with arity (added to prototype, forgot to remove connection param), fixed disappearing _sendBody options
Fix objectProxy (overwrite flag was missing)
Simplify amqp export
Fix an issue where the parser & serializer badly handled timestamps.

A previous fix changed handling of 'longlong' to use a Buffer instead of a Number, since a Number overflows
at 2^53. It used the same code for Timestamps as well, as they are defined as 64 bit. However, timestamps
(from javascript) are usually passed as Number objects and the serializer/parser expected a buffer, which sent
zeroes.

Timestamp is now parsed & serialized as a Number. 'longlong' is still parsed & serialized as as Buffer, as it
should be expected that if you need this, you know how about javascript's Number type.
Simplify debug file
Simplify syntax on connection options.host array
Fix bad options definition in queue.
All tests passing!
Only use setImmediate in test when available.
Update readme
Cleanup
Remove objectProxy() from Connection, was causing conceptual issues and name collisions.

Issue #230 was caused by a colleciton between net.Socket.connect and Connection.connect.

Rather than proxy all methods directly into Connection and defining getters and setters,
this patch instead proxies the methods that would likely be used but keeps the socket itself
on `connection.socket`. We simply proxy events from the socket to the EventEmitter on the
connection itself.

This eliminates the slow getter/setter proxying, the confusion surrounding name collisions,
and eliminates the need to rebind handlers on reconnect.
Fix race condition in purge test.
Simplify event forwarding from connection.socket to connection. Fix occasional test error in test-exchange-unbind caused by autoDelete.
Add exchange rebinding after reconnect. Inspired by postwait/node-amqp#234.
A few test style fixes & race condition fixes.