fragile pointer ownership for set views

There was a bug in ProjectDocument::clear, fixed in d3bda824: We reset the pointer m_jobs to a new instance of JobsSet though this pointer is externally available through function ProjectDocument::jobsRW() and there the old pointee may still be used by Qt signals or other function calls, which will result in access violations.

We need to

  • check the entire code base for similar errors
  • change the sets/view API to prevent such abuse
Edited by Mikhail Svechnikov