Improvements to Json and SafeJson

* You can create Json by indexing into a SafeJson object and setting a
  value. Intermediate arrays and objects will be created as necessary.

* Made SafeJson dynamic-friendly.

* Added some tests

Version changed to 0.4.4.1