Batch of improvements and bug fixes

- Whitespace cleanup, terminate all lines with a NL
- Fix unsubscribe(), it was modifying its header argument
- Fix race condition between UNSUBSCRIBE and MESSAGE
- Pass an Error object to the error callback
- Use EventEmiter to manage list of error callbacks
- Fix argument order of subscribe, so callback is last
- Allow message headers to be specified on publish
- Fix error when no disconnected callback passed
- Return this so stomp methods can be chained
- Correctly end the TCP connection
- Fix errors caused by calling a null function
- Fix connect test, which was passing an options object
- Set default STOMP port to the common value

Which closes easternbloc/node-stomp-client#6

I have API docs coming, and might need to look at issues #4 by @bgraves, it looks real, and I also suspect problems if message headers contain NULs or newlines, or message bodies contain NULs, but there isn't unit test structure sufficient to reproduce.