Throw an exception on invalid HTTP header value

A Chromium CL fixed our HTTP header value parsing to align better with the spec
and other browsers:
  https://src.chromium.org/viewvc/chrome?revision=222127&view=revision

To further align, throw an exception on XMLHttpRequest#setRequestHeader if the
request header contains characters outside Latin-1. This matches Firefox
nightly, Opera 12, and the spec (the argument is a WebIDL ByteString). Also it
avoids silently turning those characters to ?, what WTF::String::latin1 does.

In addition, re-enable a test that was broken by this test. Also add a new test
to verify header encoding, decoding, and the exception.

BUG=276769
TEST=LayoutTests/http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii.html,
     LayoutTests/http/tests/xmlhttprequest/xmlhttprequest-latin1.html

Review URL: https://chromiumcodereview.appspot.com/23983021

git-svn-id: svn://svn.chromium.org/blink/trunk@157854 bbb929c8-8fbe-4397-9dbb-9b2b20218538