fix: file.t fails with old Carp

With the latest version of Carp (1.3301), Regexp objects are stringified
as their content (qw(what to match)), not as a regular object reference
("Regexp=REGEXP(...)"). This made the stack trace always match the
regexp we were trying to match.

This hid a failing test from e5fa403, which is also fixed.

Fixes #368
changelog for file.t fix
v5.025

        - fix file.t failures with perl v5.14 and v5.16's Carp
root is a Path::Class::Dir: stringify it before dumping to metadata