The request and response are able to (de)serialize data by themeselves.

This change makes the API for the request and response object to be a little
more identical when it comes to (de)serialization of data.

The main addition is the attribute 'serializer' to the Response object.  When
the content is set on this object, it will verify if a serializer is set and
if the data needs to be serialized (e.g.: do we have a ref ?).  If that's the
case the serialization will be done from the object itself, and the dispatcher
does not have to deal with it.

An attribute 'error' is added to the role 'Serializer', where a message is
stored in case of an error while dealing with the data, and a message is
logged.