Use CharSequence instead of String in parseContent()

and parseContentDepth(). This also means that the type of some fields
changed from String to CharSequence.

Also add Matcher for CharSequences.
Remove Packet.ID_NOT_AVAILABLE
Do not hardcode the char[] length in StringUtils
Throw IllegalStateException in StringUtils.hash()

instead of Log.

Also create UTF8 and SHA1 constant.
Use XmlStringBuilder in RosterPacket and XMPPError
Merge branch 'master' into xep198
More SM work