Added JSPF plugin framework as a dependency
Refactored payload validator code to be less Atom specific

This is in preparation for future support for different payloads.
Made content validation more generic and added validator for IODEF

Removed Atom knowledge from publish processor by:
- Passing generic item element into AtomEntry rather than (Atom specific) entry element
- Pushed local and global ID generation, and in-reply-to getter, into validator
Tidy up unused imports and fields
Fix issue with global ID generation

Prior to this fix the temporary ID was being used which was causing
duplicate ID isses in the DB. Now we generate the correct ID once
and use it throughout.
Added support for payload validator plugins

Pulled out IODEF validator into a plugin.
Validator plugin discovery now uses JSPF capabilities

Previously we would get all plugins and ask each in turn 'can you
validate this payload type'. Now each plugin indicates its capability so
we are able to directly request a plugin capable of validating a
specific payload type.
Updated recent changes for to match validator refactor

Thread parent and media work now works with the IODEF/plugin branch
Use TXT record/

Fixes #185
Added details about validator plugins
Use `server=` not `host=`
Merge pull request #190 from surevine/issues/185

Use TXT record instead of PTR
Added instructions for setting a node content-type
Simplify instructions for setting the content-type
Merge pull request #191 from surevine/plugin-support

Add support for validating different payloads through plugins
Merge branch 'master' of github.com:surevine/buddycloud-server-java into invites