Make RulesRegistry::process_changed_rules_requested_ a map (relanding)

The original change (corresponds to patch set 1 here) was in https://codereview.chromium.org/79433002. Description follows:
> process_changed_rules_requested_ stores the state of progress
> on writing a set of rules to the rules store. For each extension
> there are separate write tasks. Currently, process_changed_rules_requested_
> is share among all such writes, which is wrong. This CL makes
> process_changed_rules_requested_ a map from extension IDs to the state flags.

However, that change got reverted in https://codereview.chromium.org/90993005, because it leaked stuff.

The problem is that objects scheduled for deletion on FILE thread were scheduled after that thread's message loop was spun. See http://crbug.com/323916#c4 and http://crbug.com/323916#c5 for a detailed analysis.

This CL aims at 2 things:
1) re-land the change from https://codereview.chromium.org/79433002
2) fix the leaks (fix should be in since patch set 2)

BUG=320645,323916

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

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