Use wrapt to provide the deprecated class proxy

Instead of having our own mini-proxy class use the
robustness (and correctness) that the wrapt library
provides to implement a more compliant object proxy
that handles edge-cases better than our own.

Also adds a few basic sanity tests to ensure that the
moved/deprecated classes operate as we want them to.

Change-Id: Ib7ca832700583d3ca5e175cb322aa00543cbc475
Mark 'task_notifier' as renamed to 'atom_notifier'

Deprecate the usage of an engines 'task_notifier' in
favor of the more appropriately named 'atom_notifier' and
mark the 'task_notifier' property as subject to removal
in a future version.

This makes the usage of this notifier more clear since it
is not only used for task notification but also for retry
notification (which is why naming it atom notifier is more
suited to its actual usage).

Change-Id: Idfa31a6665e43dcc9360f0aed40e27817d9e6737
Merge "Use wrapt to provide the deprecated class proxy"
Merge "Mark 'task_notifier' as renamed to 'atom_notifier'"