Add support for modern Bitbucket webhooks.

Review Request #10344 — Created Dec. 3, 2018 and submitted — Latest diff uploaded

Information

Review Board
release-3.0.x
2a68196...

Reviewers

Our support for Bitbucket webhooks was dependent on their legacy
implementation, which they've recently removed. They have a newer model
with different configuration requirements, different payload format,
and restrictions on the number of commits that are represented.

This change updates to work with the new format. We now only accept the
modern payload format, using the contained commit information if not
marked "truncated", falling back to calling into the Bitbucket API if
needed.

The instructions have been updated for the new configuration process. A
notable change is that we can no longer pre-fill in any information in
the configuration form, but instead need users to provide it themselves.

Unit tests pass.

Manually tested with both truncated and non-truncated push event payloads.
Verified that the payloads were parsed correctly and that each commit
referencing a review request URL was properly handled.