encoding/charmap: fix some Windows types

Please note that, aside from the replacement character and naming,
this does not change any of the character maps.

The new Windows CodePage encodings really implement the IBM
equivalents. Reflect this in the name and the data files used.
The decoders will be the same, but Windows accept more codepoints
for the encoders. Right now the charmap implementation does not
support this. If encoding to the Windows variants is important
we could, once the error on unsupported code points CL is in,
write a "Windows decorator" to augment any of the IBM code pages
to convert them to the Windows equivalent.

In the same vein, the replacement character has been changed to
\x1b. With CL 17701/17702 users could more easily replace runes
with the replacement character of choice if needed. It generally
seems good to discourage people actively for use '?' as the
replacement character though.

Also changed the generation code a bit to make it go generatable.

Change-Id: I973d9f8a50be4346a0bf890e8a2feef36e215a12
Reviewed-on: https://go-review.googlesource.com/17704
Reviewed-by: Hyang-Ah Hana Kim <hyangah@gmail.com>
3 files changed