core - entity writer and reader now provide information on the entity type [BREAKING]

The entity type was used to build the writer or reader, but not preserved in the writer or reader.

Having the type available in the reader/writer gives interesting information on the route
itself, which will allow interesting uses of newly introduced RestxRouteFilter.

This is a breaking change if you implemented the EntityResponseWriter or
EntityBodyReader interfaces which now have an additional method, and if you used
the programmatic router builder which now asks to provide the input and output types.
core - exposes entity request body and response types
core - add etag support
i18n - use etag to cache generated labels resources