Move pending prerender logic into PrerenderLinkManager.

Pending prerenders should not count towards max_link_concurrency. Fix and
re-enable the tests accordingly. This also removes the last instances of
unpaired content::RunMessageLoop() / base::MessageLoop::current()->Quit() calls
in the browser tests. All waiting should now use the new base::RunLoop-based
code.

Also add a new test to check pending prerenders are canceled when their
launching prerenders are.

BUG=333276,167792,145248,307592

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

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