RFC : Started with multi.jl changes. Please have a look. 

Just started modifying multi.jl and thought it will be a good idea to get the approach vetted before I go too far down the path. 

- Ignore the @DBG macros all over the place. I'll remove them later. Temporarily there to understand the flow.

- Delinked process id as being an index into the workers array. Just a one-up number. Worker processes can die - they are removed from all datastructures tracking them.
Is required to handle terminating worker processes as well as rmprocs(). Consequently any external packages using pid as valid number between 1:nprocs() will break.

- Have 2 new maps (id => Worker) and (sock => Worker) independent of ProcessGroup since we will support multiple process groups.

[ViralBShah: Do not merge this - it is for review only]