Update AppBannerManager so that it can create and dismiss Banners
* AppBannerManager is given the ability to create banners. See
the C++ header for details on how the asynchronous pipeline works.
* DetailsDelegate class is added to provide information to the
AppBannerManager about packages being advertised.
* AppBannerManager dismisses banners after navigations.
* AppBannerManager fires intents provided by the DetailsDelegate
to launch the Play store and installer.
* AppBannerView is notified when the install state changes so it
can update its buttons.
Design doc (has image showing how the pipeline works, text is out of date):
http://goo.gl/a77OXx
Depends on:
https://chromiumcodereview.appspot.com/
141853007/
https://chromiumcodereview.appspot.com/
156013005/
NOTRY=true
BUG=341556
Review URL: https://codereview.chromium.org/
156343002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252557 0039d316-1c4b-4281-b951-d872f2087c98