start conversion to evented executor loop
use events; split out server loop; other small improvements; litter code with comments
change some comments
remove an apparently unnecessary event from the server - it would block after p.start(), but so would the immediately following join, and slightly changed keyboard interrupt handling (but was apparently not introduced for that purpose); minor change to client shutdown routine
whoops
start working on resilience to client crash; not working yet
survive executor crash; other changes
forgot to clear event
stop launching executors if too many have failed
define client WAIT_TIMEOUT in only one place
remove a \t
fixes from code review
Merge branch 'evented_mainLoop' into survive_lost_executor

Conflicts:
	pydpiper/pipeline.py
	pydpiper/pipeline_executor.py
add heartbeat thread
small improvements
Merge pull request #118 from bcdarwin/survive_lost_executor

Survive lost executor