remove ambiguity b/t Supervisor/Child/Starter PIDs

- use SupervisorPid, ChildPid, StarterPid type aliases rather than
  ambiguous ProcessId
- rename uses of `pid` as an expr name to `childPid` or `sup`

Ideally all internal bits of Supervisor would use phantom types to
make this a type level rather than name based distinction. This is a
first step towards that goal.