Importers: create reusable issue saver and integrate with BitBucket
<!--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>
- [Work on this issue](https://contributors.gitlab.com/manage-issue?action=work&projectId=278964&issueIid=454799)
- [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=454799)
</details>
<!--IssueSummary end-->
This issue is the first step in unifying issue saving behaviour between our third party importers.
1. Extract shared relation saving behaviour to a base class.
2. Create a reusable `IssueSaver` class which leverages this base class.
3. Update `Gitlab::BitbucketImport::Importers::IssueImporter` to use this new class.
issue