update README now that --fast has been removed

`chmod -x setup.py` it already had the required #!/usr/bin/env python
support --to location in verify

This works just like the --to option in restore, only for verify.
This allows restoring to a different directory, and verifying the
restore.  Or when recovering a system with the filesystem mounted
in a different location.
Format long lines

This is to stay consistent with previous "Format long lines" changes
for settings in other plugins.
Try to restore group even when not root.

Normal users can't set the uid to a user other than themselves, but
they can set the group id if they are in that group.  Previously it
was ignoring uid and gid if it wasn't root, update to not change the
uid if not root and try to set the gid, ignoring any errors.

This also makes some improvements to the metadata_tests.  Make sure
magic uid and gid isn't the current user.  Expand fake_lchown to use
-1 as don't update that UID for the above group restore tests to pass.
Create oserror_lchown for code coverage to exercise the error path.
test_does_not_set_uid_when_not_running_as_root was using fake_lchown,
but checking the actual file, which would normally be owned by the
user that just created it, so it wasn't an effective test.
test_does_not_set_gid_when_not_running_as_root no longer applies, as
it does try to set the group.  Add a test for lchown set failure, and
a test to verify it actually sets the file to every group the user is
in.
store and restore character and block special device node numbers

Character and block special devices were restored with 0, 0 as the
major and minor numbers causing them to be unusable.  Without which a
system backup and restore would leave the system unbootable.  The
major and minor numbers are saved at the end of the metadata so as to
make the repository format backwards compatible.
fill in the mode display bits

This fills in the displayed file mode permission mode bits such as
character, block, setuid, sticky, etc.
cat optimization, only get toplevel when running filters

It isn't used if the data is being returned unmodified.