exposed tick as a public method
Gutted the queue by removing all unused methods from the API.
Main queue delegate methods are no longer optional.
Added support for fetching multiple jobs at a time from the DB.
Cleaned up some of the structure of the code such that internal queue processing is not happening while a callback is being executed by the queue delegate.
Modernised some of the array & dictionary lookups.
minor restructure to move begin & end backgrounding out of the checking code