Raname State to SupervisorState for less ambiguity.
Have NewClient Return Client instead of *Client.
Return values instead of pointers.
Move events and rpc under their own subfolders.
Rename events to listener.
Add Parent and State methods to listener event.
Improved supervisor event listener. Broke up listener into multiple
files.
Move listener and rpc up a directory.