Change lifecycles to pass params by DI.

Instead of every lifecycle participant getting $request and $response
as a means of standardization, now every lifecycle participant will
get the result of _getMeA('thing') for every parameter:
  $thing
or
  Thing $x
Add promises as a means of lazy loading.

All loaded things will now have any $*Service class variable
injected with _promiseMeA('*Service'); after loading.

The promise can be used to transparently access to promised object
via __call, __get and __set.

Promises to constructors are invoked and passed as regular objects
during thing construction.