Epic #72584: sysext:impexp
Avoid garbage upon failed import
When importing a large page structure any exception which could possibly get thrown will result in an abort of the import. All records which got inserted into the database until then could end up on a wrong page, link to wrong elements, etc. as relations between records are only updated after all records got inserted. The same is true for an import which got aborted because of a PHP script timeout.
This bugfix resolves the problem by introduction DB transactions via the DatabaseConnection class. In the case of a failed import all statements are rolled back and newly created files will get removed.