Update process.start method to return it's pid
Add a bounded parrallel execution process pool
Update Process to support an on_exit callback