Rework documentation of notifications

- move notifications docs from inputs and outputs to separate page;
- listeners and TransitionNotifier documented;
  - docstrings improved, missing docstrings added;
  - documentation put to notifications page;
- inputs and outputs page edited.

Change-Id: Ib283836173a806fbec81aa07b3292e2672bf6483
Raise error if atom asked to schedule with unknown intention

Instead of returning none from the schedule task/retry method
if a unknown atom intention is declared (this will cause later
failures) raise a execution failure when this happens to denote
that this is a problematic & exceptional case.

Change-Id: Id0e3211389e22459c5381f4a19d80d8d0baf1e25
Merge "Rework documentation of notifications"
Merge "Raise error if atom asked to schedule with unknown intention"
Move taskflow.utils.misc.Failure to its own module

Failure class is important part of TaskFlow API, so it should
be more visible and accessible.

Breaking change: any client that used taskflow.utils.misc.Failure
should be updated.

Change-Id: Ib30000c9246bbcb227b34dfb0aba4d0b950bf926