Add notifications for important task/graph-related events

This is part of the strategy we're going to use for TSKGraphTask.

@jnjosh Please review.
At this point, the *graph* has been cancelled. The *tasks* haven’t been cancelled, but now we’re in this weird world where it turns out tasks are only cancelled if they’re in certain states, which isn’t guaranteed. So the semantics (as I’ve defined them) is that a graph is considered cancelled as soon as it receives `‑cancel`. I could change it to will, I suppose, but supposing you registered for every notification, I’d think you’d expect to receive the didCancel for the graph followed by the didCancel for tasks, not the willCancel for the graph followed by the didCancel for the tasks. What do you think?