Fix issue #187 where geard freeze after subsequent stop/start

Channel is closed because StartUnitJob discards the returned channel pointer, which is probably an automatic close (either then or when the next GC runs).  I'm not sure, but it might be better to have StartUnitJob run a go routine that waits for one result on the channel and then exits.  That then means this logic doesn't need to change.