Use FileCollection to store the pathname part of files
Using the FileCollection to store the path parts allows to represent
a common path prefix by an integer.
This way the memory used to manage deep hierarchies is reduced.
The reduction factor depends on the number of managed files per
directories: the more files in a directory, the more they will share
the same common prefix, and the better we'll gain.
Early tests on a 5 level deep hierarchy containing 100 files
per level show about a 50% less memory consumption.
Signed-off-by: Brice Figureau <brice-puppet@daysofwonder.com>