More reliable merge checks

We are introducing a change to the pull request merge checks that will make them more reliable. Specifically, we will no longer allow pull requests to be merged while a build is in progress.

It was possible for a pull request to be merged while some of its builds were still in progress and for those builds to fail after the merge has completed. This created an undesirable situation if build merge checks were enabled.

Previously, when build checks were configured, Bitbucket would validate that the configured number of successful builds was present on a pull request and that no builds had failed.

With these conditions satisfied, a pull request was ready to merge.

The new changes are an enhancement to this functionality. The build merge check will continue to look for the configured number of successful builds and it will continue to validate that there are no failed builds. On top of that, it will also validate that no builds are in progress.

When there are builds in progress, a new validation checkmark on the pull request side card will not be checked and a merge will not be allowed.

Once all builds have completed, the new validation checkmark will be checked. If all other checks are satisfied, the pull request will be ready to merge.

With this change it will no longer be possible for a pull request to be merged until the status of all of its builds is known. This is an improvement in how our customers are able to rely on the build checks on their pull requests as it will no longer be possible for a build to fail after a pull request was merged.