Added signal handling

* Make sure child processes are killed with parent
* Moved timeout logic into the code as the utility
  program for that does not relay signals well
* Fixed array key name typo
* Split out a refillSlots() method
* Cleaned up a few messages a bit

Change-Id: Id38f7ebbedda97afd918575ed73964abf92ad153