Fix kill queue

There is still a case where the kill command can miss:

1. `ar-run -f BIG_FILE`
2. `ar-kill -j JOB`
3. job is "Queued" in mongo, but routing to a compute node.  We now still publish the kill command to catch this.
4. kill request callback checks to see if kill_id is in job_list, but job isn't added to job_list until after data transfer, thus, skips the kill queue.

So, I moved the lock_acquire back to before file transfer.  This will only allow one thread to transfer at a time, like we discussed.  Do you see any downside to this?

Also, there was a bug where jobs weren't popped from job_list on terminate/exception.  Moved this to a `finally` statement.