SchemaStore bug fixes and JsonObject updates.

SchemaStore had a few bugs.  None seem to cause issues in
functionality, but they cause a flood of php notices and warnings.

* The `resolveUrl` method needs to use `array_key_exists` to determine if
  a key exists in an array.
* The `add` method does not pass the correct values to the
  `normailzeSchema` method.  I'm not sure I fixed this one correctly,
  but it seems to be working for me.
* Corrected the spelling of the `normailiseSchema` method to
  `normailzeSchema`

I also made some additions to the JsonObject.

* Added validation on construction of the object.
* Added the ability to pass a JsonObject to a setter method instead of
  requiring the raw value.
* Added a `setValue` method.  This allows the user to set the value if
  it is not an array or object.