A basic timer implementation that will work in any context, but
which does not (unfortunately) provide managed threads in more
advanced servlet containers.
Experimental attempt at internal log handling which works
naturally on the command-line, doesn't introduce dependencies, and
at the same time allows integration with a full logging system.
Contains classes for running Duke as an app in a servlet container,
allowing it to incrementally process new and changed data as it
arrives from a remote service.