Interim commit while extracting a LogEvent object.
Moved a few methods to LogEvent, where they can be re-used and eliminate a bit of feature envy.
Introduced ArgumentDescriber.java and begun moving responsibility for manipulating arguments to this class.
Changed rep of no args to be an empty array instead of a null
Moved argument and throwable logic to ArgumentDescriber
Tidied up a bit of unused code.  Added IDEA inspection for scope of variable too broad.