Only stringify schema once
Using `anyOf` shouldn’t fill JSON object with defaults of non-matching subschemas

Prior to this change, a JSON object validating against `anyOf` would be mutated by each subschema with default values, even if that subschema then failed validation. These new properties would then be present in the JSON for validation against subsequent subschemas.

Now, on subschema validation failure we set the JSON data back to the original data. So only the defaults of the first matching subschema persist after returning from the call to `validate`.
Using `oneOf` shouldn’t fill JSON object with defaults of non-matching subschemas

Prior to this change, a JSON object validating against `oneOf` would be mutated by each subschema with default values, even if that subschema then failed validation. These new properties would then be present in the JSON for validation against subsequent subschemas.

Now, on success, only the single passing subschema will mutate the JSON data.
Switch to Ruby 1.8 hash syntax in tests
Merge pull request #180 from treppo/master

Only stringify schema once
gemspec homepage: ruby-json-schema/json-schema
Update README badge URLs [ci skip]
Enable CodeClimate test coverage reports

I'm not sure how well this will work, especially given it's incompatible
with 1.8. But AFAIK I can't see the results without putting it on
master, so we can always just revert if necessary.
Revert "Enable CodeClimate test coverage reports"

This reverts commit 865d14286c82869ddfb5a6e6b3e50fc36c866484.

Exposed a test that only fails when test coverage reports are on. Crazy.
Merge pull request #181 from jjbananas/conditional-validation-default-values

`oneOf` and `anyOf` errors where default values are present