Added match capabilities to Content-Type header

- Allow specifying the mediatype and charset to the header.
- Allow specifying arbitrary parameters to the header.
- Update fromString() to inject mediatype and parameters.
- Added match() functionality similar to Accept header to allow matching
  one or more provided mediatypes against the given Content-Type header,
  including wildcard specifications.
Additional unit tests

- Added more unit tests to ensure both matching and failure are
  represented
Ensure passing multiple criteria works

- Return the matched criteria on success
- Only return from the loop if we validate; otherwise, delay returning a
  false value to the end of the method.
Update Response tests

- Header has a space between ';' delimiter and parameters
- Fix logic in ContentType header to ensure parameters are parsed and injected
  into the header.
Implement case-insensitive matching

- mediatype strings are supposed to be case-insensitive. Ensure
  mediatype is normalized to lowercase, and that comparison mediatypes
  are as well prior to matching.
Merge pull request #4950 from weierophinney/feature/content-type-header

Add matching capabilities to the Content-Type header