initial sketch of a supervisor
more API niceness
rebase from master
cosmetic, strip unused imports
rename "state" arguments to avoid shadowing GenProcess.state
Beginning of a supervisor test suite
Managed Processes and Supervisors more closely aligned

Generally simplify the API for running managed processes, hiding the
`init' details from the consumer as much as possible. Rework supervisor
to work with `Closure (Process ())` and refactor the existing tests and
infrastructure accordingly.
Prioritised mailboxes
Merge branch 'supervisor' into mp2
Introduce Prioritised Mailbox handling for Managed Processes
Tighter contracts for managed process clients and a channel based API
Refactor managed process test suites to share common test cases
Additional test cases, basic restart handling
Die when the supervisor reaches maximum restart intensity
Avoid a simple race in the restart intensity test; text explicit restart
Further improvements to child termination
Branch Restart Modes
Ensure monitor notifications cannot escape from MP calls
Alternative branch restart strategies
Additional managed process API docs