[core] Optimize utf8_substr. Do not use the utf8 iterator

Use a new utf8_offset function instead. This can be optimized
further if we can guarantee word alignment of the buffers.
Add a special utf8 vtable method for substr.

This is a hot item for perl6, see GH #1097
Timings: from 440s to 388s for the "Stage parse" in perl6.
However without utf8 strings at all (my constant π := pi)
the parse stage is still only 173s.

Do not export the Parrot_utf8skip table anymore, not used
by parrot, nqp, perl6.
[test] fix GH #335 test todo, parser error on new INTVAL

Since INTVAL is a valid label name, and we do not want to scan down to look for all
existing labels, we just test for the existing error.
[docs] release_manager_guide updated next releases and mark supported ones
[test] sprintf counts bytes not characters

Add tests to t/op/stringu.t, written by moritz.
See GH #956 and rakudo bug RT#117547
[core] fix sprintf width for unicode

sprintf %20s string width should be counted in chars, not bytes.
Fixes GH #956.
ChangeLog update
[core] Fix sprintf width for NaN/Inf/-Inf, GH #1100

Add the missing width handling, and add tests.
for perl6 RT 116280, from https://github.com/perl6/roast/commit/2647c16652
RT #122341 treat all of 0x0a-0x0d,\x85,\x2028,\x2029 as newlines

The script tools/dev/gen_charset_tables.pl was not used because it removes
character properties of chars in the range of 0x81 to 0xFF. Additionally,
u_iscclass now checks for characters with enum_cclass_newline property,
which it did not do at all before.
[tools] typetables: fix gen_charset_tables.pl and regenerate

Removes defunct and since 2010 unused Parrot_ascii_typetable.
Adds \v to CCLASS_NEWLINE manually (confirmed),
\x85\xa0 confirmed to be now in the whitespace cclass, but
several old systems fail with the \xa0 (non-breaking whitespace)
test for whitespace.
Several chars 160..191 are not in the [[:punct:]] class anymore.

Added bootstrap-tables make target, update the tables automatically.
Improved src/string/encoding/tables.c pod.
Closes PR #1087
[doc] add cPanel and Erin Schoenhals to DONORS
[ops] protect callmethod from non-PMC-object

fixes the SEGV in GH #1024 when calling a non-existent Sub.
Fails now with "Method 'new' not found for non-object"

t/compilers/imcc/syn/const.t test 41 is still unreliable
on the smokers. Needs to be improved when I can repro it.
[test] add testcase for double-quoted lex names GH #1095

in perl6 the correctly double-quoted .lex "foo\\o", $P3 name fails to work.
see https://rt.perl.org/Public/Bug/Display.html?id=116643
this might be caused by the switch from globals to lexicals, as this statement
is now enclosed in a block.

in parrot the binary character \0 causes problems in lexnames with roundtrips.
[test] Added LexInfo.declare_lex_preg and more imcc/syn/clash.t tests

For GH #1095

global names do work fine, only lexicals not.
Note I do not know how to reliable get the correct target register index for
declare_lex_preg in pure pir, and how to initialize it.
Setting it crashes the ctx.
[test] add testcase for immc parser bug even with globals

Also updated [GH #1095]
[test] just clarifying comments about the parser
WIP development only: add -t8 flag, unescape in mk_const

see https://github.com/parrot/parrot/issues/1095#issuecomment-58470471
WIP mk_const and str_unescape: skip "
WIP: fixed the tests, but broke parrot

allow and handle now empty strings im imcc, fix
quoted sub names
different string escape policy now

die now with unknown escape sequences A-Za-z,
but allow quoting of special non-word chars, like
\", \[, \}
imcc encodings: fix unicode encoded constants