Add manual trigger run and retry for CircleCI integration.

Review Request #11208 — Created Oct. 1, 2020 and submitted — Latest diff uploaded




Add manual trigger UI for CircleCI integration.

This change adds the ability for Integrations to run CircleCI manually.
A checkbox is added to the CircleCI form that indicates if CircleCI should only
run manually.

Watch the demo video here

Based on work by David Trowbridge: /r/11130

This patch depends on /r/11190, /r/11198 and /r/11204

Manual testing by adding a private GitHub repository with CircleCI integration,
checking and unchecking the "manually run" form checkbox to ensure that no
automated runs and done when a review request is made, and clicking the "Run"
button on the review request page.

Verified the disabled/enabled run manually field by testing on Review Board
3.0.18, 3.0.19 and 4.0.x.

Verified retry functionality when state is in ERROR and TIMEOUT states.

Unit tests have been written to verify that when the configuration is set,
the CircleCI request is not made. Another test to verify that a build is
run when the signal is emitted.