Back-port to Java7

Java8 has lots of useful stuff, but making it a precondition for opslogger will hamper its usefulness for the next year or so. This is a Java7 backport, achieving the same ends but with less syntactic sugar.

It requires JodaTime.