Don't crash; defer an error when a path changes while indexing it.
Mirror the error handling already used by save.
With this change the result for a path that changes or is deleted
between the drecurse traversal and the from_path() call should be the
same as the result for a path that changes or is deleted between index
and save.
Thanks to Yann Autissier <yann.autissier@gmail.com> for reporting the
problem and Gabriel Filion <gabster@lelutin.ca> for helping figure out
the solution.
Signed-off-by: Rob Browning <rlb@defaultvalue.org>