TODO List for File::Util

Not necessarily listed in order of priority:

1)  [DONE] Set up formal (not just private) GIT repository

2)  [DONE] Separate documenation examples into a cookbook (POD)

3)  [DONE] Gradually transform methods to accept input parameters in a
    *::Class-like style (hashrefs, etc) while preserving backward compatibility

4)  Support for Perl IO "layers", which just hasn't been requested but
    should be there for completeness

5)  [DONE] Transform (where useful) various methods to accept callbacks.
    File::Util::list_dir() is the primary target

6)  [DONE] Set up File::Util::list_dir() to take a listref of regexes

7)  [DONE] Continue improving the distribution so as to make it compliant
    with Fedora packaging standards; it is already a maintained package for
    Ubuntu and ActiveState.

8)  [DONE] Code clean up in POD documentation examples.

9)  [DONE] Improve and simplify code examples in POD documentation.

10) [IN PROGRESS] Constantly improve test suite until Devel::Cover
    scores are something to be proud of.  We're doing much better
    than we used to only less than 1 month ago

11) [DONE] Remove all traces of old invocation syntax from the POD

12) [IN PROGRESS] Now that documentation has been divided into the ::Manual and
    the ::Cookbook, I want to add more content to them.  More examples,
    More fully-functional programs (recipes).

13) [DONE] Create a less-verbose Exception class (right now we only have
    Exception::Diagnostic, which is overkill for power users and "experts" who
    just want a quick, clean error message instead of a full-page printout of
    what went wrong, how to fix it, and whose fault it was -- followed by a
    callstack.  We need the less verbose alternative now.

14) [DONE WITH CAVEATS*] Create a benchmark suite, plot and publish metrics as
    part of the documentation.

    *Turns out it wasn't such a good idea, given that benchmarking is of
    little use without context, and that means comparing the performance of
    File::Util to other distributions out there that do similar things.  This
    has two problems, the first is that distributions are constantly evolving
    and benchmarks recorded on one day are inaccurate the next.  The second
    is that some of the numbers are NOT flattering.  In some test scenarios
    File::Util has out-performed File::Find::Rule by 300%, while in others it
    has been outperformed by some 100% or more.  Publishing things that
    are potentially embarrassing is rude and I won't do it.

    The best thing to come out of this was that I was able to increase the
    performance of list_dir() by about double with help from Devel::NYTProf

15) [DONE] Memo-ize pattern "gathering" for recursive list_dir() calls for
    greater efficiency.  Right now there's a gather op for ever recursion, and
    that just isn't necessary.  That can be optimized out.

16) Provide an option to follow symlinks in list_dir(),

17) [DONE] keep track of inodes seen while traversing directories to avoid
    filesystem loops

17) Try to get unicode-on-windows support for filenames, which is actually
    a Perl-core issue.  I might/might not be able to fix that.
