[JobQueue] Re-try jobs that fail normally.

* Jobs will be re-attempted if run() returns false.
  This means that claimTTL is useful beyond just the case
  where runners get killed in the middle of a job or an
  uncaught exception is thrown.
* Moved MAX_ATTEMPTS constant up to base class.
* Clarified docs a bit.

Change-Id: Id7f970e82a63aa563e9a7a023ce32e5d6680433a