Deprecate empty package names and trailing double colons.

This commit adds two new deprecations:
* Use of empty package names is deprecated
Triggered by things like sub foo::::bar, $foo::::::bar,
or package foo::'bar, or sub ::;

* Use of trailing double colons in sub or package declaration is deprecated
Triggered by package foo::; and sub foo::;
Stop t/base/lex.t from warning
Deprecate leading double colons in package declarations and barewords