Make the file:filename() type more restrictive

The recommended type for filenames is a list of characters (which
may be Unicode characters greater than 255). Change the
file:filename() to reflect that.

For the filename module we still need a type that can be either
a string or a binary, so we need to introduce the type
file:filename_all().
Support for types with the same name and different arity
Update Dialyzer's documentation
Minor refactoring
Fix some Unicode issues

Also let the Erlang shell use the new function io:printable_range().
Code simplifications + take out obsolete note
Simplify a case construct using a boolean operator
Simplify a case construct using inequality
Code simplification
Native code compilation changes

Add more files to be compiled to native code and
do the native code compilation in parallel if there are enough cores.
Merge branch 'ks/dialyzer-R16B-final-fixes/OTP-10865'

* ks/dialyzer-R16B-final-fixes/OTP-10865:
  Native code compilation changes
  Code simplification
  Simplify a case construct using inequality
  Simplify a case construct using a boolean operator
  Code simplifications + take out obsolete note
Introduce new type file:name_all()
Merge branch 'pan/unicode_printable_ranges'

* pan/unicode_printable_ranges:
  Adapt stdlib tests to ~tp detecting latin1 binaries
  Update primary bootstrap
  Make wx debugger use +pc flag when applicable
  Correct misspelled comments and space at lin ends
  Make ~tp output latin1 binaries as strings if possible
  Leave the +pc handling to io and io_lib_pretty
  Remove newly introduced warning in erlexec.c
  Make shell_SUITE:otp_10302 use +pc unicode when needed
  Fix io_proto_SUITE to handle the new io_lib_pretty:print
  Add testcase for +pc and io:printable_range/0
  Make printing of UTF-8 in binaries behave like lists.
  Document +pc flag and io:printable_range/0
  Add usage of and spec for io:printable_range/0
  Add +pc {latin1|unicode} switch and io:printable_range/0
  Fix some Unicode issues

OTP-18084
Merge branch 'hb/file_name_type/OTP-10852'

* hb/file_name_type/OTP-10852:
  Introduce new type file:name_all()
Update copyright years
Prepare release