Implementing JSONDiff.equals for JSONObject and JSONArray

Performs deep comparisons for equality.

Fixes #57
Use java generics for JSONObject key iterator