Adding initial search support.
Improving/reorganizing logging code.

All of this should've been on the factory from the beginning, really. I also
realized it would be easier to make my own BaseLogFile subclass to always log
to a datestamped file, and it turns out it was pretty easy.
Prettifying the search results.