Permit optional code block when adding a job

The original qbwc gem supported an optional code block to QBWC.add_job that could be used to define a request. This pull request restores a mostly similar functionality, primarily for backwards compatibility. Addresses https://github.com/skryl/qbwc/issues/36

This is an early draft that passes all existing tests and appears to work for my application's use case (though still early days). I'd appreciate a second pair of eyes on it as my understanding of this gem's internals is somewhat limited.