Move rel2abs earlier in File::Spec::VMS::abs2rel.

We need to make the path and base parameters absolute before
splitting them apart and comparing their pieces.  Since rel2abs
will do its own canonpath, we don't need to do that anymore here.
Revise Unix syntax detection File::Spec::VMS::abs2rel.

For a long time we've punted to the Unix method if either path or
base has a forward slash in it.  But that really only works if
*both* are not native specs.  So check for that by making sure we
don't have unescaped left bracket (square or angle) or colon in
either parameter before handing off to File::Spec::Unix::abs2rel.
Force barename base to be a directory in File::Spec::VMS:abs2rel.

The docs say that the filename portion of base is ignored, but they
don't specify what happens when base is a single component without
directory syntax, leaving ambiguous whether it's a file or a Unix-
style directory spec.  Let's default to the latter for greatest
consistency with what happens elsewhere.
Fix undefined warning in File::Spec::VMS::catfile.

We had very carefully created a lexical variable to hold a default
result when the filename was undefined.  Then we forgot to use it.

Now we use it.
Simplify abs2rel.t.

Factor out all the things that were common for the different test
cases (which was everything except the filename).  And use made-up
names that indicate what's being tested rather than special system
filenames commonly found on Unix systems.  Otherwise, if, for
example, a test for "'init.d' is a directory" fails, you'd be
wondering whether something is wrong with your system rather than
looking for problems in File::Spec, which is what we're testing.
Version bump for File::Spec::VMS.