PaymentApp: Implement PaymentAppManager.setManifest().

The method is to register payment app with the user agent for future use
associating manifest’s attributes(e.g. label and icon) set with the payment
app for user reference. The manifest data is stored into service worker
storage by associated service worker.

This is a series of patches to implement setManifest() in PaymentAppManager:
  https://codereview.chromium.org/2476343002/

This CL includes browser side implementation and unit/layout tests.

Related spec link:
  https://w3c.github.io/webpayments-payment-apps-api/#set-manifest

BUG=661608
TEST=payment_app_manager_unittest.cc
TEST=payment-app-manager.html

Review-Url: https://codereview.chromium.org/2497983002
Cr-Commit-Position: refs/heads/master@{#433119}
16 files changed