Return this so stomp methods can be chained
Fix error when no disconnected callback passed
Allow message headers to be specified on publish

This allows the content-type header to be specified, a SHOULD
in STOMP 1.1.
Fix argument order of subscribe, so callback is last

Accepts the old argument order, for compatibility, but callback as last
argument is the node convention. Also assert that the mandatory callback
is provided, otherwise the error is delayed until a MESSAGE is received,
where it is unrecoverable.
Use EventEmiter to manage list of error callbacks

StompClient was using its own code to handle a list of callbacks for
errors. The code was nearly identical to that in EventEmitter, from
which StompClient is derived.
Pass an Error object to the error callback

This is the convention, for good reason, it captures a stack trace and
provides a consistent interface. All message headers are set as
properties of the Error object, so the API is backwards compatible.
Fix race condition between UNSUBSCRIBE and MESSAGE

MESSAGE can still arrive after UNSUBSCRIBE is sent, but the callbacks
were deleted, this would lead to calling .map() on null.
Fix unsubscribe(), it was modifying its header argument
Whitespace cleanup, terminate all lines with a NL

Git, and other tools, expect this, lack of NL on line endings causes
weirdness with diffs.