Extract JobQueue interface and change the former JobQueue to AsyncJobQueue.
Make JobHandle a nested class of Job.
Move some code around to reflect previous changes.
Synchronous job queue (jobs executed from main loop).
Avoid unsafe iterator fetch in MSVC.
Merge branch 'lwho/sync_jobs'
Fix some -pedantic warnings in non-contrib code.