Use a Myers Singleton for null

Avoid some static initialization problems.

From @marklakata
See #488
diff --git a/include/json/value.h b/include/json/value.h
index 4c29382..fb88c18 100644
--- a/include/json/value.h
+++ b/include/json/value.h
@@ -190,6 +190,8 @@
 
   static const Value& null;  ///< We regret this reference to a global instance; prefer the simpler Value().
   static const Value& nullRef;  ///< just a kludge for binary-compatibility; same as null
+  static Value const& nullSingleton(); ///< Prefer this to null or nullRef.
+
   /// Minimum signed integer value that can be stored in a Json::Value.
   static const LargestInt minLargestInt;
   /// Maximum signed integer value that can be stored in a Json::Value.