add in writableDeepCopy for making a new version of either JSONObject or JSONArray
add in javadoc target.
Null constructor is private to ensure only a single instance and hashcode is a constant 0.