Implement asynchronous job management to ensure jobs can be
successfully completed even if those jobs temporally fail
for some reasons. The detailed design can be found in section
9 in design document.
This patch focuses on enabling workers to rerun failed job.
Workers started with configuration option 'periodic_enable'
set to 'True' are responsible to this work.
Purging old job records will be covered in later patches.
Change-Id: I2631a98af67e663f929f293bdfb7e7779fe8018e