More thorough tests for PaymentDetails

- Tests for missing "amount" in a line item or a shipping option.

- Tests for empty strings "id", "label", "currencyAmount", and "value"
  in a line item or a shipping option.

- Tests for invalid "value" in shipping options, e.g., "1..0" and "1/3".

BUG=587995

Review-Url: https://codereview.chromium.org/1938843002
Cr-Commit-Position: refs/heads/master@{#391080}
5 files changed