changed return type of Tokeniser.consumeCharacterReference from Character to char[], and also changed TokeniserState accordingly
changed Entities.escape to escape String with supplementary characters correctly, and added two test cases to verify
added test cases to verify supplementary characters can be used as attribute name and value, as well as be selected by selector
added a containsOwn test
Merge branch 'master' of https://github.com/mingfai/jsoup into mingfai-master
fixed incorrect code copy-and-paste
Merge branch 'master' of https://github.com/mingfai/jsoup into mingfai-master
Tweaked mingfai's surrogate pair implementation for efficiency.

On the core cases where characters are not surrogate pairs, I've kept
to pushing chars around. This is to try and minimize the number of
short-lived String objects.