Perform InterfaceProviderSpec intersection in the ServiceManager.

. Introduces a parallel flow in ServiceManager to Connect called BindInterface which carries (via ConnectParams) interface name and pipe.
. Introduces an OnBindInterface() method to mojom::Service. In ServiceContext, this just calls through to OnConnect still since updating callsites is a pretty large task for a subsequent change.

Note that policy checking is still happening in the client - there was no easy way to avoid this without adding an unsafe mode to InterfaceRegistry that skips the check that I'd be concerned might be misused. And IR should probably just die once this work is complete anyway.

R=rockot@chromium.org,tsepez@chromium.org

Review-Url: https://codereview.chromium.org/2610853013
Cr-Original-Commit-Position: refs/heads/master@{#443119}
Committed: https://chromium.googlesource.com/chromium/src/+/e70e635ab325eede70d564b995130583bb3404ce
Review-Url: https://codereview.chromium.org/2610853013
Cr-Commit-Position: refs/heads/master@{#444496}
7 files changed