Remove recursion in favor of iteration for lower backtrace depth

Change the structure of Zeus.go to use throw/catch and iteration
instead of recursive calls to go in order to boot slaves and
commands. This changes the number of backtrace frames occupied by Zeus
to be constant, instead of scaling linear with the depth of the slave
launching a command.
Merge pull request #361 from antifuchs/flatten-client-backtraces

Remove recursion in favor of iteration for lower backtrace depth