afs-vol-check: --offline option
afs-vol-check: --save option
afs-vol-check: fix volume name and type cross check

Old versions of vos listvol -format print a bogus volume
name when the status is not OK, so ignore the name given
when the status is not OK.

The volume type is not available when the volume status
from listvol is not OK, so the type cross check has to
be skipped for those volumes.

Take only the fields we need from the vos listvol output
and do some sanity checks before saving the entries.
afs-vol-check: orphan/stray/rogue check

Give more details for stray volumes. Orphan volumes
do not have a vldb entry. Stray volumes are misplaced
volumes. Rogue volumes are duplicate volumes, one of
which has a matching vldb entry.
afs-vol-check: beware of zero volume ids
afs-vol-check: rename validate
afs-vol-check: better --level checks
afs-vol-check: fix --save dir check

Fix the --save directory is empty check. readdir() does not set $_
in versions of perl before 5.11, so don't rely on such.
afs-vol-check: more consistent output prefixes

Prefix all output lines with one of INFO, WARNING, ERROR, FATAL, ASSERT.
afs-vol-check: fix false error for unrelease volumes

Properly handle the case when one or more read-only
sites have been added (vos addsite), before the first
time the volume has been released. The read-only volume
id is not available yet.
afs-vol-check: not/failed release message formatting

Put the volume id in parens to be consistent with the
other warning messages.
afs-vol-check: detect path to vos

Search for the vos command, first in the $PATH, then in
some common hiding places. Use the first one found, and
fail early if vos is not found.
afs-vol-check: close save filehandles