added gcov support to binaries #697

Calling ::_exit doesn't give gcov a chance to flush its data files to
disk.  So if we're using gcov, make sure to call ::exit instead.
always handle SIGTERM and SIGHUP #697 #706

We don't really need to keep the default SIGTERM and SIGHUP handlers when
running in gdb.  Discovered while working on #697