Centralized Job deserialization, and back-filled missing fields. Added JSON parsing test coverage. JobIntegrationTest#hasAReasonableTestString() now passes.
JobIntegrationTest#canCompleteItself() now passes. Required implementing Queue#pop, which performs new array of jobs deserialization, which now has test coverage. Centralized JSON stringification.
JobIntegrationTest#canAdvanceItselfToAnotherQueue() now passes. Involved completing Job#complete().
JobIntegrationTest#canAddAndRemoveDependencies() now passes. Involved implementing Job#depend() and Job#undepend().
JobIntegrationTest#exposesFailingAJob() now passes. Involved writing Job#fail() and #failure(), and adding missing Job#failure member var.
JobIntegrationTest#providesAccessToLog() now passes. Involved writing Job#history(), #log(), and reworking the Job#History class to become a map that can store more than just a "what" key.
JobIntegrationTest#canMoveItself() now passes. Involved completing Job#requeue(), and adding OptsHelper#getList() defaultValue support.
JobIntegrationTest#exposesItsCancelMethod() now passes. Involved writing Job#cancel().
Wrote JobIntegrationTest#hasExpectedAttributes(), which doesn't pass yet due to problems with tags.
Wrote JobIntegrationTest#returnsNullLFromSpawnedFromWhenItIsNotARecurringJob(), which doesn't pass yet.
QueueTest#specifyAJidInPutAndRecur() now passes. Required completing Queue#recur().