dogtail tests: Don't let the "project" test pollute /tmp
dogtail tests: Ensure the media library's iconview mode is used for some tests
dogtail tests: Allow import_media to handle empty search results better
dogtail tests: Refactor, fix and document the project tests

- Correct wrong project settings assumptions in test_settings_video:
  As resolution changed, pixel aspect ratio was also meant to change at the end.
  The test doesn't pass, but that's because of bug #706544.

- Make test_load_save count the iconview items properly,
  and make the test much more exhaustive and easier to understand.
dogtail tests: Refactor the openProject helper to handle unsaved changes better

This is in preparation for the fix for bug #706539
mainwindow: Check for unsaved changes before (not after) loading a new project

This makes for a much less awkward flow and actually allows users to cancel
the closure of their current project if they are unsure.

Fixes bug #706539
medialibrary: Show the initial infobar again when creating a new project
application: Use quote_uri to make things simpler and a bit more robust
project: Bring back the essence of commit 88dc015ef for loadProject

Commit 267dd141 moved newBlankProject out of the else clause by mistake,
which turned it into a portion of code that would never be run.
mainwindow: Pass exception messages correctly when errors occur while saving

This was a regression introduced by commit 267dd141
dogtail tests: Verify more carefully that backups load correctly/completely

Also do general refactoring to make the code more robust and easier to follow
project: Refactor and fix saveProject

- Don't use a "project" argument that is the same as self.current:
  this complexified the code and could be error-prone.

- Update self.current.uri only at the end of a successful save.

- Prevent a case where backups would hit an uninitialized "save" variable.

- Kill the "overwrite" argument: it was useless as it was always set to True,
  and our GTK filechoosers make it impossible for users to reach "saveProject"
  if they choose "Cancel" when the filechooser asks about overwriting the file.

- Remove the "if uri is None" condition: impossible to reach,
  as it is handled by the if/elif/else clauses above it.

- Remove the "else" clause after the try/except while calling self.current.save:
  it is redundant, as exceptions from GES are already caught earlier
project: Don't mangle the exceptions raised by GES while saving

This string had an incorrect syntax (should have been '_("foo") % e'),
which made mainwindow's save-project-failed handler choke in some cases
(such as overwriting a project that has been marked read-only).

However, there's no point in saying "Cannot save with this file format" still,
as the error dialog has a header that says 'Unable to save project "%s"' and
the error strings raised by GES should be sufficient to use as secondary text.
project: Restore the project's URI after exporting a copy as a tarball
project: Remove the unused "formatter" variable, make "backup_lock" protected
pitivi: Implement the notion of "read-only" projects

This fixes loading backup projects (their assets wouldn't load anymore),
and ensures that users can't overwrite legacy ".xptv" files.

Clicking "Save" in those cases will now trigger a "Save As" dialog.

This commit also adds a dogtail test that ensures that clicking "Save"
after loading a backup project actually triggers the "Save As" dialog.
Avoid a traceback when closing the progress dialog after a successful render
pitivi: Rename self.current (aka self.app.current) to self.current_project

This elongates some lines, but makes its purpose and origin crystal clear
mainwindow: Handle the "unsaved changes" dialog response on new project creation

Don't show the "Project Settings" dialog if the user has not made a choice
regarding unsaved changes, as the new project has not actually been created.
mainwindow: Clear the library simultaneously to the timeline on project closure

Otherwise, when you ask to open another project, the timeline gets cleared
but clips are still showing up in the media library, which gives a broken feel.