Fixed a memory leak for when we're destroying the client.

We kept around event emitters that kept a reference to the client. We now call removeAllListeners on destroy.
moved removeAllListeners in destroy so we also handle cases where we're not connected.
formatting.
Merge branch 'destroy_memory_leak'

Conflicts:
	lib/Client.js