Persistent job queue, derivative of android-priority-jobqueue.

// FREEBIE
Support for job "group ids."

A job can specify a group id, and jobs with the same group id
will run sequentially.
Switch to byte array.

// FREEBIE
Incorporate PR feedback. Add license and eliminate duplicate code.

// FREEBIE
Implement delivery receipts.

1) Support a "receipt" push message type.

2) Identify messages by timestamp.

3) Introduce a JobManager to handle the queue for network
   dependent jobs.
Index shouldn't be unique.
Switch to using our own JobManager.

// FREEBIE
Dependency updates and gradle housekeeping.
Make delivery receipts work correctly for groups.
Make signed prekey generation happen through the job queue.
Check job requirements are satisfied in between retry iterations.

// FREEBIE