avoid using using one-time indexes

Currently `Trail.stat` and `Trail.entries` functions just create an empty index, do something and discard index. The cached information in the index itself is never used.

The cached information itself isn't a big deal. But creating an index is a very costly operation because of three `*.clone().freeze()` calls.

This would speed up `eachLogicalPath` call in mincer 4-6 times according to [my benchmarks](https://gist.github.com/rlidwka/892d08876d737e265a86).