Cut down coffee logger API

-remove unused functionality
-remove it's responsibility for knowing about files
-inject file abstraction as dependency

We only want the coffee logger to be about getting log data, and
updating log data. If it doesn't need to know about *how* the file
context switches (e.g. filenames and display names), just *when* the
file context switches, then we can really simplify this layer, and
clarify the division of responsibility in the app.

We also cut out "reviews", since they aren't being used yet. There's
also no reason to use an object to store records. An array works just as
well, and we don't have to track the latest key value manually.
remove filename/displayName dichotomy, let user specify filenames

The need for display names goes away when users can specify friendly
names for their files, rather than naming files by user id.

In spite of this simplification, we create a file abstraction to sit
between the datastore and the coffee log, which handles file context
switching - opening existing files and creating new ones.