Cleanup and Refactor of JsonUtils

 - New JsonUtil interface "extracted" from existing JsonUtils class
 -- Interface and Impl will allow clients to specify their own preconfigured ObjectMapper
 - JsonUtils static methods refactored to use a "stock" JsonUtil instance.
 - Two JsonUtils methods deprecated

 - Unit test of new JsonUtilImpl ability to take in a preconfigured Jackson Module
 -- Unit test morphed into a fancy Jackson processing
 --- Built and tested 5 versions ;)
 -- Sucessfully implemented recursive polymorphic JSON deserialization in Jackson 2.2

 - Bumped Jackson, Guava, TestNg, ArgParse versions.

Fixed bug in JsonUtils
 - The problem was that JsonUtils static methods were using Object.class.getResourceAsStream() which can behave oddly.
 - Now that the static methods in JsonUtils are backed by a real instance of JsonUtil, that JsonUtil can use itself to load resources.

Updated Github Readme docs.
 - sample code
 - linked to demo