Prevent direct use of "replacement" text encoding.

The "replacement" encoding defined in the WHATWG Encoding Standard
is a spec convenience, and not intended to be referenced directly.
There are several aliases for it (for some legacy encodings) but
neither content nor script should be able to use it by name.

Since most of wtf/text assumes that a codec's name is an alias for
itself, leave that invariant intact. Make TextEncoding (the API
for resolving an encoding by name) mark a direct reference as invalid,
(treating it as any other unknown string, i.e. use locale's default
codec) and throw if the name is used from script (per spec)

This is dependent on http://crrev.com/265973003

BUG=277037
R=jshin@chromium.org,eseidel@chromium.org

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

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