avoid == in floating point comparisons

proposed fix for #2

Ideally one should be able to specify this eplison value, for now I have just created a static field with hard coded value. also added several tests added for DeepEquals.

This fix is good for simple POJO comparisons as well as POJOs in arrays and Lists. does not work for Sets and possibly unordered Maps, my guess is `deepHashcode` calculated is different.

PS `TestUrlUtilities.testGetContentFromUrl:78` and `TestSimpleDateFormat.testTimeZone:201` are failing in my machine