Fix MessageTypeFilter.ERROR

s/Type.headline/Type.error/
Streamline String to Enum transformation

for the core stanza Enums.
Throw more exceptions when parsing Presences

when parsing core elements of Presences.
Add PacketExtensionFilter(PacketExtension) constructor

and PacketExtensionFilter(Class<? extends PacketExtension).
Use new PacketExtensionFilter constructor

in OfflineMessageManager
MessageEventManager's PacketFilter should ignore error type messages

Fixes SMACK-573
Smack 4.0.1-SNAPSHOT
Add missing 4.0.0 Changelog
Update README.html

to point to "Smack 4 Readme and Upgrade Guide" DOC-2703
Fix documentation to use correct XMPPConnection names

Some parts of the documentation still refer to

Connection connection = new XMPPConnection(…)

when it should be

XMPPConnection connection = new XMPPTCPConnection(…)

SMACK-574
Fix PingManager, use 'nextPingIn' to schedule

pings, instead of 'pingInterval'. Fixes SMACK-575.
s/JEP/XEP/

also s;jabber.org/jeps;xmpp.org/extensions;
Add ohloh stats to README.md

and move the badges on top.
Improve HostAddress, make some members final

also
- add getException()
- improve constructor logic
Add javadoc to SmackException.ConnectionException

and HostAddress
Enable linkSource, use and JavaSE javadoc for javadocAll
Make smack-resolver-javax an OSGi ServiceComponent

Fixes SMACK-576
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.
Improve parseContent() and parseContentDepth()

The idea is that xml-roundtrip should *never* be expected from a
XmlPullParser. So what we need is a method that parses the content of an
element without relying on getText() returning text if on START_TAG or
END_TAG. This is already done by PubSubs ItemProvider.

Also add PacketParserUtils.parseElement() which will return the current
element as String and use this method in PubSub's ItemProvider.