Permissions: browser/ side implementation of multiple permissions request.

This is getting multiple permissions request to the browser layer and
implements the backend in the chrome/ layer. This allows multiple
permissions request to be functional on Desktop platforms. On Android,
some other changes are required.

This CL was originally written by lalitm@google.com in:
https://codereview.chromium.org/1316863010
This is a rebased and revisited version of it.

BUG=516626

Review URL: https://codereview.chromium.org/1419083002

Cr-Commit-Position: refs/heads/master@{#355942}
15 files changed