Reworked t/base/lex.t to use less hardcoded test numbers.

The later two thirds of the file now consistently use $test, which
should make future tweaks to the file simpler.
toke.c, S_scan_ident: Skip over newlines as well as spaces and tabs.

Not doing this lead to some bugs, such as 'eval "*{\nOIN}"'
returning a glob for "\nOIN" rather than just "OIN", or
'eval "\${\cT\n}"' giving spurious syntax errors.

Note however that this is not a full fix, since that latter
test case still fails outside of an eval.
[perl #119123] disallow literal control character variables

This introduces a deprecation warning on things like $^T, where ^T
is a literal control character in the source code.
toke.c, S_scan_ident(): Don't take a "end of buffer" argument, use PL_bufend

All but one of scan_ident()'s callers already passed PL_bufend as
the removed argument; The one deviant was intuit_more(), which was
setting the "end of buffer" argument, to the next close-bracket.
This commit modifies intuit_more() to temporarily set PL_bufend and
then restore it.

This was done as groundwork for the following commit, which will add
more uses of PEEKSPACE() to scan_ident() in order to fix some whitespace
and line number bugs, and PEEKSPACE() modifies PL_bufend directly
if it encounters a newline at the end of the buffer -- that last bit
being why changing intuit_more() to modify-and-restore PL_bufend is
safe, since the end of the buffer will always be a ']'
toke.c, scan_ident(): use PEEKSPACE() to skip over whitespace.

This fixes a number of bugs regarding whitespace and line numbers
in scan_ident(), such as ${\nfoo\n} not increasing the line number,
or ${\ntime\n[1]} not working.

It goes through a number of hoops to get the correct line number for
warnings emmitted from scan_ident, and reverts CopLINE to its
original value if scan_ident() is giving up and returning from the
point of the opening bracket, like in the case of ${\n\nfoo()}.
toke.c, scan_ident: No need for a while loop when using PEEKSPACE

PEEKSPACE already gobbles up all the remaining spaces until it
either finds a non-space character, or EOF.
Merge branch 'hugmeir/disallow_cntrl' into blead

[perl #119123] disallow literal control character variables

This branch introduces a deprecation warning on variables like $^T,
where ^T is a literal control character in the source code.

It also reworks how the handling of whitespace in ${...} works,
fixing a number of bugs, such as ${\nfoo\n} not increasing the
line number.