Lift 'after' blocks to zeroary functions

If 'after' blocks are not lifted, the ids of functions in their bodies
must be killed and it can make stacktraces more confusing than they
should. We lift them to zeroary functions to avoid unnecessary killings
and duplication of code.
Remove ^L characters hidden randomly in the code. Not those used in text files as delimiters.

While working on a tool that processes Erlang code and testing it against this repo,
I found out about those little sneaky 0xff. I thought it may be of help to other
people build such tools to remove non-conforming-to-standard characters.
Merge branch 'nox/lift-after/OTP-11267'

* nox/lift-after/OTP-11267:
  Lift 'after' blocks to zeroary functions
Merge branch 'fenollp/treewide_remove_unexpected_0xff/OTP-11323' into maint

* fenollp/treewide_remove_unexpected_0xff/OTP-11323:
  Remove ^L characters hidden randomly in the code. Not those used in text files as delimiters.
Merge branch 'maint'
Typo fix ambigous -> ambiguous
Merge branch 'maint'
Rename otp_8949_a/0 which common_test interprets as an info function

Before running a test case named testcase/1, common_test will call
testcase/0 (the info function). Exceptions and illegal return values
would be silently ignored. In a planned update to common_test, errors
will instead cause the test case to fail.

The test case otp_8949_a/1 has a helper function called otp_8949_a/0.
Rename it to do_otp_8949_a/0.

While at it, also fix a copy and paste bug in the list of test cases.
otp_8949_a was run twice; otp_8949_b was never run.
Merge branch 'maint'

* maint:
  Rename otp_8949_a/0 which common_test interprets as an info function
Prepare release
Merge tag 'OTP_R16B03'

The R16B03 release

Conflicts:
	lib/sasl/vsn.mk
EEP 37: Funs with names

This adds optional names to fun expressions. A named fun expression
is parsed as a tuple `{named_fun,Loc,Name,Clauses}` in erl_parse.

If a fun expression has a name, it must be present and be the same in
every of its clauses. The function name shadows the environment of the
expression shadowing the environment and it is shadowed by the
environment of the clauses' arguments. An unused function name triggers
a warning unless it is prefixed by _, just as every variable.
Variable _ is allowed as a function name.

It is not an error to put a named function in a record field default
value.

When transforming to Core Erlang, the named fun Fun is changed into
the following expression:

    letrec 'Fun'/Arity =
               fun (Args) ->
                       let <Fun> = 'Fun'/Arity
                       in Case
    in 'Fun'/Arity

where Args is the list of arguments of 'Fun'/Arity and Case the
Core Erlang expression corresponding to the clauses of Fun.

This transformation allows us to entirely skip any k_var to k_local
transformation in the fun's clauses bodies.
Test named funs