added fix for utf8 multi-byte boundary when it is split between chunks, ...

...also created a test for this scenario, and made sure all current tests still pass in node and on the browser side.  Sorry for the kinda messy diff, a force of habit of mine is removing trailing whitespace in vim with `,ss`, it's so fun to get rid of them! :P