Add request attribute to engine role.

There are some engines that require access to the request (or at least
the PSGI env) to be functional, for example the core Mutable serialiser.
Others such as Session::PSGI were broken as part of the great context
removal (necessary colateral damage).

The work to make apps do their own dispatching has been merged which
allows the dispatching logic to populate and clear the request
from the configured engines at logical, clearly identifiable points
(i.e. no action at a distance).
Update Serializer::Mutable to use request attr.

Also removes the extra_headers hack when building a request object.
Update Role::Template to use engines' request attr

No need to pass request around within template engine methods.
reflect change
Merge branch 'feature/engine_request_attr'