[core] Downgrade external ascii on multi-byte platform encodings

We should scan those external strings for pure-ascii and set the
ascii encoding if the multibyte platform encoding is not needed.
This is mostly helpful to Getopt handling and is better then downgrade
to binary. We cannot set latin1 as this is incompatible to utf-8.
On Parrot_str_from_platform_cstring we can even reuse the setjmp for
the mult-byte exception in to_encoding.
disable Parrot_str_new_from_cstring downgrade, benchmarks

12470ms with both, 11964ms without str_new_from_cstring.
[core] Add simplier Parrot_ex_throw_from_c_noargs #1132
Use new Parrot_ex_throw_from_c_noargs, simplify some PMCs

Use the shorter function.
Simplify BigInt, BigNum exceptions,
Add exception to pmc2c warnings for BigInt, BigNum macros.
Closes GH #1132.

Also fix some more left-overs from GH #1126 (messages)
and some wrong GH #1133 exitcodes, but there are still some wrong 1 left.