Added a test that combines the different scenarios
Added some Javadoc to Formatter
Added license text to Formatter and FormatterTest
Replaced String with Formatter in all Asserts
Refactored Runnable to ExpectedException rule