Reduce code duplication by extracting TaggedList.

This also helps avoid errors since coordinating the two lists in a
class doing lots of other things can get a bit tricky.

BUG=none

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

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