supervisor: initial import

harpoon-supervisor is an implementation of the supervisor outlined in
doc/design/container-supervision.md.

It will replace harpoon-container.
supervisor: move shared types into agent lib
supervisor: report oom exit status
design: update container-supervision design doc
supervisor: add testing notes
supervisor: log errors on control connections
supervisor: constantize magic strings
supervisor: use Subscribe / Unsubscribe
agent: fix doc on ContainerProcessState
supervisor: use friendly field names on controller
supervisor: split container.Wait
supervisor: call Exited channel 'exitedc'
supervisor: update advised test timeout in README
Merge pull request #45 from soundcloud/harpoon-supervisor

Add harpoon-supervisor