Support parsing of alternate scalar type names.

Rather than char, uchar, etc, the variant names are int8, uint8, int16,
etc.

This only changes the parsing code, not any internal representations.

Fixes #2