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.