switch ac/av to the more conventional argc/argv

I keep getting confused. Sorry.
Cleanup the worker init logic so its better documented
add setproctitle()
move some defines from worker.c to worker.h and add some comments
add comment
add abort.c
more abort changes
add ws
header reorg
ws fix
split up expression so one function per line for error msgs
fix a race condition I introduced earlier

run chain.sh without simple_listener.pl and add a kill command (not -9)
after simple_listener.pl, and thread-santizer would show a data race.

This seems to fix that problem. (But not all the tsan reports.)