Added a little error output.
Fix restoring from backups.

* glom/appwindow.cc: recreate_database_from_backup():
  Do not try to add the standard groups until after restoring
  from the postgres backup data, because we try (and fail) to
  set groups for standard tables that do not exist yet.
Backup: Simplify the code and fix the problem with groups.

* glom/libglom/connectionpool.[h|cc]: convert_backup():
  Take a path to the (postgres-specific) backup data file instead
  of a path to the parent directory, so we do not need to
  guess the actual path.
* glom/libglom/connectionpool_backends/backend.h
* glom/libglom/connectionpool_backends/mysql.[h|cc]:
* glom/libglom/connectionpool_backends/postgres.[h|cc]:
* glom/libglom/connectionpool_backends/sqlite.[h|cc]: convert_backup():
  Rename path_backup to backup_data_file_path to make it clearer.

* glom/libglom/document/document.[h|cc]: extract_backup_file():
  Take a path to the (postgres-specific) backup data file,

* glom/appwindow.[h|cc]:
  do_restore_backup(): Store the path to the backup data file in
  m_backup_data_filepath temporarily.
  on_document_load(): Pass m_backup_data_filepath to
  recreate_database_from_example().
  recreate_database_from_example(): Take a path to the backup data
  instead of a URI to the .glom file, and pass that path to
  ConnectionPool::convert_backup().
  Also add groups before restoring the backup data, because it needs
  these groups to exist already.
* glom/libglom/db_utils.cc: add_group(): Do not fail if the
  autoincrements table does not exist yet, because this can happen
  while restoring data from a backup.

* tests/test_selfhosting_new_then_backup_restore.cc: Adapted.