Started out to fix a deadlock, wound up with other minor cleanups as well. Now uses a different row in emulab_indicies: frisbee_index, which is simply incremented.  We convert the index to a MC address in the script rather than saving an encoding of the address in frisbee_mcastaddr.  The new row is automatically added the first time and the old row is still there in case anything goes wrong.
Started out to fix a deadlock, wound up with other minor cleanups as well.
Now uses a different row in emulab_indicies: frisbee_index, which is simply
incremented.  We convert the index to a MC address in the script rather than
saving an encoding of the address in frisbee_mcastaddr.  The new row is
automatically added the first time and the old row is still there in case
anything goes wrong.

Other changes mostly have to do with cleaning up when interrupted, in
particular when we are downloading an image inside an elabinelab.

nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome