Some cleanup to the data processor.
Change the output location.

This should really be external to this file. Later.
Refactor output process to prep for new tables.
Further refactoring of common functionality.
Add processing for _played_ data.
Scala post-processor combines multiple records.

For performance reasons, Lua keeps its output in several different
tables, each with data structures designed to make largeish sparse data
sets perform as well as possible. Afterward, we need to join this data
back together to control for things like time spent offline or resting.

This could all be done in Lua, but Scala is a much better environment.
So, we take the approach of using a Lua processor to extract the
near-raw data into TSV files, then we use a Scala post-processor to
combine several TSV files and do any complex analysis.