Make XmlPullParser XML-ROUNDTRIP aware

xml-roundtrip is an optional feature of XmlPullParser. MXParser supports
it, while KXmlParser on Android doesn't. This means that we *must* check
if it's supported whenever we assume that XmlPullParser.getText() should
return the text for START_TAG and END_TAG. If it's not supported, like
on Android, then 'null' will be returned, which we must handle.

We also create a single method in order to obtain a new
XmlPullParser. But not all test cases do use it yet.
Fix PrivateDataResult.getChildElementXML()

that method never worked correctly since 11 years, ie. the PrivateData
was never added as element text. It's not surprisingly that this was not
discovered in more then a decade, since Smack usually never *sends*
those stanza but only receives them.

But that's no reason to not fix it. :)
Properly escape Bookmarks and FormField XML

by using XmlStringBuilder. Fixes SMACK-577

Also extend LazyStringBuilder with a cache. And extend XmlStringBuilder
with some more convenience methods.

Move the ELEMENT and NAMESPACE definition from Form to DataForm, where
it belongs.