Never omit explicitly named mounts during index -x
Assuming mounts like this:
/
/usr
and an index invocation like "bup index -x / /usr", don't skip indexing
/usr. Previously bup would skip /usr when -x was specified because
reduce_paths() would drop /usr from the list of paths to index, assuming
that /usr would be covered when indexing /. However, when /usr was
actually reached, -x would cause it to be skipped.
To fix that, exempt all mount points mentioned on the command line from
-x during filesystem traversal, expand the (root only) tests to cover
this situation, and check some corner cases.
Thanks to Wayne Scott for reporting the problem, and Yves-Alexis Perez
for a reminder.
Signed-off-by: Rob Browning <rlb@defaultvalue.org> Tested-by: Rob Browning <rlb@defaultvalue.org>