Creates or comments on existing issue in the store.

        :params title: title for the issue
        :params body: body, the content of the issue
        :params culprit: string used to identify the cause of the issue,
            also used for aggregation
        :params labels: (optional) list of labels attached to the issue
        :returns: issue object
        :rtype: :class:`exreporter.stores.github.GithubIssue`

def create_or_update_issue(self, title, body, culprit, labels, **kwargs):
        '''Creates or comments on existing issue in the store.

        :params title: title for the issue
        :params body: body, the content of the issue
        :params culprit: string used to identify the cause of the issue,
            also used for aggregation
        :params labels: (optional) list of labels attached to the issue
        :returns: issue object
        :rtype: :class:`exreporter.stores.github.GithubIssue`
        '''
        issues = self.search(q=culprit, labels=labels)
        self.time_delta = kwargs.pop('time_delta')
        self.max_comments = kwargs.pop('max_comments')

        if issues:
            latest_issue = issues.pop(0)
            return self.handle_issue_comment(
                issue=latest_issue, title=title, body=body, **kwargs)
        else:
            return self.create_issue(
                title=title, body=body, **kwargs)