Extent project interfaces, cleanup
Changes:
- Introduce IProjectController::closeAllProjects()
- Introduce IProject::close()
- Introduce protected API in ProjectController the TestProjectController can use
Big plan: Fix issues in kdev-php unit tests (use after free) which is
related to different semantics of the TestProjectController compared to
the original ProjectController
Differential Revision: https://phabricator.kde.org/D722