Fix precedence errors found by perl 5.19.4 of return ... or ...
Cwd::realpath("/nonexistant") on 5.19.4 returns undef
Avoid errors on inlined constant lists, used in 5.19.3 and up

Perl 5.19.3 (as of 15635cbf in perl.git) inlines list constants; that
is:

    use constant FOO => qw(bar baz);

...stores an array reference in the symbol table instead of a GLOB, so
long as there is no $FOO, @FOO, or so forth in the package as well.
This is not entirely new; perl 5.10.0 began inlining scalar values,
which led to aaf2bb34, followed shortly by 3d835f0d.

Inlined arrays appearing in the symbol table bypasses the existing ref()
check, and causes the following errors during tests:

    Not a GLOB reference at lib/RT/Config.pm line 1222.
    Compilation failed in require at li/RT/Config.pm line 899.
    BEGIN failed--compilation aborted [...]

The only case in which we can later de-reference $entry as a GLOB using
*{$entry} is if it _is_ a GLOB; GLOBs have ref($entry) eq '', which
makes them easy to distinguish from inlined constants, which are all
references of some form.  Rather than continue adding to the
laundry-list blacklist of ref types, simply skip _all_ non-globs found
in the symbol table.
Merge branch '4.0/perl-5.19.4-compat' into 4.0-trunk