payload in 'publish' appended as Buffer instead of string

Hi Adamvr,

I've encountered problem using your mqtt.js as a server. After tracing around the code I found some disagreement with the MQTT spec. Regarding the spec, payload should be a raw buffer instead of a utf-8 string. i had to alter the code so my java mqtt client works as expected. hopefully this can be pulled upstream but of course you can keep your original design and maybe branch out for people to test this code.

Cheers,                                                
Freehaha