Add a feature to automatically suggest reviewers for a given review request

Review Request #99 — Created Nov. 3, 2022 and updated

Review Board
Using past review activity, suggest reviewers to a user posting a review
request. This will look at:
- The frequency with which users have commented on / reviewed a file in the
  current review request's diffset.
- The recency of their reviews
- Whether or not they were targetted for review in the reviews they gave.

On the front end, clicking on a name in the suggestions adds to the target
people list and pulls them off the suggestions, and hitting cancel puts them
back into the suggestions.

Testing Done:

Front end:
  Experimented with the front-end and made sure that everything behaves as I

  - Clicking on a suggestion when not in inline-edit mode opens the inline
    editor and adds the suggestion to the list, removing from suggestions list

  - Clicking on a suggestion when in inline-editor keeps the inline editor open
    and appends the suggestion, removing it from the suggestions list

  - Hitting cancel on the people's field throws out the added suggestions from
    the inline editor and adds them back to the suggestions list.

  - Opening another field's inline editor while the people's editor is open and
    has unsubmitted changes from suggestions, then hitting cancel on the other
    inline editor. This doesn't affect the suggestions list at all, nor the
    people field's current inline Edit contents. Hitting cancel on the People's
    inline edit field then behaves as it should (described above)

  - Hitting ok on the inline editor after it has been modified by suggestions
    turns off inline edit mode while reflecting the changes, and keeps the
    suggestions list unaltered, then turning it on and hitting cancel doesn't
    add back to the suggestions list the suggestions that were pushed to the
    editor before the save.

  - Manually queried and checked expected results (based on frequency, recency
    and targettedness of comments) for a few individual review requests and
    made sure that the reported results aligned.

Unit tests pass.

Reviewed at

Description From Last Updated