Refactor ParsedContentHeaderFieldParameters and related classes

This is a preliminary change for implementing charset replacement in
XHR on top of ParsedContentType.

This CL
 - Adds iterator getters for ParsedContentHeaderFieldParameters.
 - Makes ParsedContentHeaderFieldParameters a list of parameters
   instead of a dictionary.
 - Holds unmodified header names instead of lowered names.
 - Removes is_valid_ from ParsedContentHeaderFieldParameters, and adds
   the boolean (as part of Optional) to its holders.
 - Removed Mode::kStrict which can be checked after the parameters are
   parsed.

Bug: 651750
Change-Id: I35db41bee74de8ef33b0b95ae56d039599c5b556
Reviewed-on: https://chromium-review.googlesource.com/781208
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Reviewed-by: John Rummell <jrummell@chromium.org>
Reviewed-by: Takeshi Yoshino <tyoshino@chromium.org>
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Cr-Commit-Position: refs/heads/master@{#519944}
10 files changed