SERVER-6217 background jobs cannot be run multiple times

"status = Running" was moved from jobBody() to go() because otherwise go() could return and getState() still return NotRunning (or Done from a previous go()). It was a race condition. That's tested in GoStateCase().