Support registering content type engines

The xml and json engine interfaces have been refactored into a ContentTypeEngine
and the application is now more loosely coupled with content types to allow
registration of additional content types. This change also lays the groundwork
for accept header negotiation of error responses.

All engines have been revised to use Initializers instead of ServiceLocators.
Implement a text/plain engine
Fix backwards argument ordering in PippoRuntimeException usage
Merge pull request #33 from decebals/content_types2

Support registering custom content types