Ensure Custom Tab intents opened by WebAPKs are treated like link navigations.

On Android, Chrome is responsible for handling external protocols and
determining if an external activity should be launched. When an
installed WebAPK opens a Chrome Custom Tab for an out of scope link, the
external protocol handling code was not being triggered for links like
mailto: and tel:, resulting in a broken CCT launch to the mailto: link
containing a blank page. This issue was caused by two reasons:

1. The navigation type for the Custom Tab intent was set to
   PageTransition.FROM_API, indicating it came from an external intent.
   This would trigger a code path that explicitly avoided launching an
   external program.
2. Once (1) was addressed, the lack of a user gesture on the resulting
   navigation created by the intent also blocked external program
   launch.

This CL fixes both issues by introducing a new Custom Tab extra indicating
whether a Custom Tab intent came from a WebAPK. When this extra is
present, we do not set the FROM_API transition type, and we add a user
gesture on the resulting new tab navigation. This essentially passes on
the user gesture that must have been present to create the new tab in
the first place, mimicking the behaviour that should be present when
not in a standalone window.

BUG=792990

Change-Id: Ifad590228b10fa7a09c1c34611124957ba857ac1
Reviewed-on: https://chromium-review.googlesource.com/c/1270204
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: Peter Conn <peconn@chromium.org>
Commit-Queue: Dominick Ng <dominickn@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602970}