This change adds a new interface to the hosting service app for deeper
integration with bug trackers. At the moment, this interface defines three
methods to fetch information about a given bug, which are used to provide a
hover infobox that shows the summary, description, and status.
This interface is currently implemented by the existing Bugzilla backend, and
by a new JIRA backend.
The next steps for this is to implement the interface for more bug-tracker
backends, and to start adding capabilities such that Review Board can do things
like add a comment to a bug when a review request linking to it is published.
This change is based on these changes by Tomi Äijö:
* https://reviews.reviewboard.org/r/5531/
* https://reviews.reviewboard.org/r/5769/
* https://reviews.reviewboard.org/r/5745/
I've made several changes to Tomi's original implementation. The bug infobox
formatting has been cleaned up a bit, especially with regards to the formatting
of the description text. The caching steps are now done in a helper inside the
BugTracker class so we don't have to re-implement it everywhere. I've also made
it so that failures to fetch the bug result in no infobox, rather than an
infobox which just has the ID and nothing else.