Mercury: reworked refund and void to support Reversals and partial refunds

Background for this is in another pull request, https://github.com/Shopify/active_merchant/pull/775