Added a require_all option for validating closer to spec

Added a require_all option that only validates when all properties in the schema are in the data.

It defaults to true, so the current strict mode behavior is unchanged.

It only changes the behavior of draft4 type schemas. Sorry, I don't know enough to know if I should change the other schemas.

Discussion was started on this issue: https://github.com/ruby-json-schema/json-schema/issues/103