More thorough tests for PaymentRequest

- If 'requestShipping' is false, then shippingOption should be null
  regardless of shipping options passed to PaymentRequest constructor.

- An abort() will not throw after show().

- The show() promise is rejected if the shipping address is invalid.

- Should not be able to call show() twice.

- Should not be able to call complete() twice.

- The show() and complete() promises are rejected if the user cancels
  the payment process.

BUG=587995

Review-Url: https://codereview.chromium.org/1938853002
Cr-Commit-Position: refs/heads/master@{#391077}
3 files changed