Allow app_shell to run past extension manifest parsing

* Extracted non-Chrome-specific manifest handler registration into
  src/extensions/common/common_manfiest_handlers.cc
* Moved app_shell app load/launch code into ShellExtensionSystem so it can
  signal that the system is ready
* Refactored more of runtime API to use browser context instead of Profile
* Cleaned up or removed some uses of ExtensionService

This allows app_shell to get into the background page loading code before it crashes.

BUG=162530,288226,309909
TEST=existing browser_tests of extension system

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243343 0039d316-1c4b-4281-b951-d872f2087c98
IndexedDB: Fix cursor prefetching edge cases

Cursor prefetch caches must be discarded when other
requests are made to ensure proper request sequencing.
Two edge cases were handled improperly if new records
was written just ahead of the cursor.

* A reset occurring before the prefetch results were
received would be ignored; since the newly records
weren't in the prefetch data, the cursor wouldn't see
them.

* A reset occurring after the results are received
would back up the cursor to before the new records,
even though the prefetch itself is a "continue"
and advanced past them already.

The fix is to reset the cache on receipt if necessary,
and to ensure the reset state accounts for the implicit
advance.

BUG=331570

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243344 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 243344