Move JQJob from an interface to an abstract class
JQJob has default enqueue options
JQJob now manages its own enqueue options, stop passing them around alongside jobs
update tests around enqueueing option management