Further bullet-proof Bitbucket webhook payload parsing.
Review Request #10595 — Created June 17, 2019 and submitted
A recent change attempted to deal with Bitbucket payload changes that
resulted in fields sometimes not being present in the payload, depending
on the event that fired. We've since found that sometimes the keys are
present, but are null, breaking some of our parsing. This change further
improves it, handling both missing keys and null values for those keys,
and falling back to defaults in both cases.
Unit tests pass.