Fix cleaning up assignments with no processes

Assignments that start zero processes would linger around forever in the
agent, eventually slowing stuff down by accumulating over time.  This
fixes that.

Some of our jobtypes will check if the desired output files already
exist, and forego starting any processes if they do.