core: entity mapping - refactor how entities are serialized in response [BREAKING]

This sets up the base elements to allow to handle other serialization type than json. Adding other content type for specific types is the matter of adding 2 components:
- a EntityDefaultContentTypeProvider which tells that the type should use a specific content type
- a EntityResponseWriterFactory to actually serialize this type to response

Currently body parsing still rely directly on jackson ObjectMapper, so input parsing is not customizable yet

The change is breaking at API level: StdEntityRoute constructor has changed, you should now use StdJsonEntityRoute instead if you want the same behavior as before.
core: default to text/plain for String,StringBuilder and StringBuffer [BREAKING]

This is breaking only for endpoints returning these types, which were previously returning a json encoded String (i.e. enclosed in double quotes).
core: entity mapping - refactor how entities are deserialized from request body [BREAKING]

This follows up the changes introduced at response level, to make them symmetric.

The change is breaking at API level: StdEntityRoute constructor has changed, you should now use StdJsonProducerEntityRoute instead if you want the same behavior as before for routes only producing json, and not consuming it.
core: refactor: inline content type factories and default providers in modules

to minimize the number of top level classes cluttering the package structure
core: entity mapping - support void return type on resource endpoints

Defining a resource endpoints with void return type will not break at compilation time any more, it will rather return a 204 status with empty response body.
core: entity mapping - support void return type on resource endpoints

Allow to override http success status
Merge pull request #55 from restx/entity-mapping-review

Entity mapping review