Encodings: black / grey / white list
Following up https://github.com/kaitai-io/kaitai_struct/issues/391#issuecomment-376003487, the proposal is to:

- [x] add a "white list" of encodings that are well-known, canonically named and are guaranteed to work in all languages
- [x] add a "grey list" of encodings which are known to be aliases and non-canonical spellings; for these, ksc would map them into canonical names in all languages, and issue a warning to the user
- [x] add a "black list" of encodings that should not be allowed; using these should break the build and clear error should be given to the user

For now we'll only do:

* `ascii`
* UTF family of encodings
* `iso-8859-xx` family of encodings, where `xx` is `[1..16]`
* `windows-12xx` family of encodings

A broader goal is #116 and there's a [relevant Google Spreadsheets table](https://docs.google.com/spreadsheets/d/1l87kGi9_U4Xrgaw2CGaTc9-_f5UEf1nf-68Dk_e1_iA/edit?usp=sharing).