Enable deep-linking from notifications for recently used web apps on the Android home screen.

This CL permits notifications pointing to a recently used,
standalone-capable web app on the Android home screen to open in the
standalone web frame.

The web app must be added to home screen, capable of opening in
standalone mode, and have been opened from the home screen within the
last ten days. If any of these conditions are not met, the notification
will fall back to the existing behaviour.

The search for a matching web app is conducted by comparing the URL
which the notification is asking to be opened with the scope of all web
apps known to Chromium. The scope for a web app is its URL, minus the
final component of its path, any query parameters, and any fragments.
A future CL will implement the manifest scope property, which will
replace this estimated scope. The web app with the longest scope that
matches the URL to be opened is chosen.

Additional tests for the scoped search are added in this CL. A new
shortcut source is added to indicate launches from a notification, and
the WebappRegistry is updated to not change the last updated time of web
app data which has not been opened from the home screen. This is
necessary to ensure web apps cannot spam the user with notifications to
update their last used time and hence how long Chromium will cache their
app data.

BUG=541711,594872
R=dfalcantara

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

Cr-Commit-Position: refs/heads/master@{#385967}
12 files changed