[PATCH] Random testing of is_canonical(canonicalize(path))

[PATCH] Random testing of is_canonical(canonicalize(path))

This patch doesn't say anything about whether we wanted or now want the design of *_is_canonical() and *_canonicalize() to be such that is_canonical(canonicalize(path)) is always true. I present this for interested parties to play with and make progress.