no warnings 'safenames', check \0 in names

Add a new fatal warnings category safenames.
Check for invalid and potentially insecure embedded \0 in
symbol and classnames, which were until 5.16 silently ignored,
and for 5.16 allowed. Since 5.16 names are internally nul-safe,
but such hidden payloads are useless for perl, are hard to detect
and may lead to security problems.