Add a job activation context.

To enable IoC containers to create per-job scopes they need to be able
to know when the job has finished so that the container can be
reclaimed.

A JobActivationContext exposes an event that can be used by a
JobActivator to clean up a job-scoped container.