Implement parsing log files via regexes

This adds multiple default regexes to the configuration, as well as data
formats to be used for representing messages and conversations.  The
LogParser class has the sole responsibility of reading through
directories, finding files that match the filename_regex, then reading
line-by-line through those files, matching the contents against the
log_*_regex values, and then returning a dictionary of conversations,
each of which has an ordered list of messages.

In the future, the data returned from LogParser will then be fed into
a separate module that will have a pluggable mechanism for reading the
messages and generating counter-based statistics.