Importers: create reusable database logger
<!--IssueSummary start-->
<details>
<summary>
Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards.
</summary>
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=454802)
</details>
<!--IssueSummary end-->
The `Import::Framework::ImportFailure` record stores a database record with information for debugging import failures.
- Filtered backtrace information
- Import type, for example `github`, `bitbucket`, `bitbucket_server`
- Related group or project
- The import instance. I'm not sure what noun to use to describe this. Everything that happens related to a single instance of a user triggering an import.
- Something from which we can derive a user friendly error message. We would like to avoid a situation where a user requires expert knowledge to understand what went wrong and what to do next.
issue