Implement delaying resource requests until privacy blacklists are ready.
Associate a BlacklistRequestInfo with each URLRequest started by ResourceDispatcherHost so that in various places we get access to the right BlacklistManager (each Profile has its own), and lazily cache a Blacklist::Match.
BlacklistListener controls delaying requests until the privacy blacklist is ready for the request.
BlacklistInterceptor handles substituting real response with a blocking page or blocking image. I've temporarily removed support for unblocking things. It was too hacky.
This change also removes a large block of blacklist-related code from RDH to more focused classes. Should make it a little more readable.
This should also make BlacklistManagerBrowserTest not flaky.
TEST=Covered by browser_tests and unit_tests.
BUG=21541, 29113
Review URL: http://codereview.chromium.org/501082
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35538 0039d316-1c4b-4281-b951-d872f2087c98