Add some test helpers for common patterns

Updates the tests to:

1. Always require the `test_helper` file
2. Add `assert_valid` and `refute_valid` to replace the common `assert(Validator.validate(...))` pattern
3. Add `schema_fixture_path` and `data_fixture_path` to replace the common `File.join(....)` pattern
4. Use those helpers via mechanical search & replace
5. A few manual tweaks for clarity (test_extends_and_additionalProperties.rb was a little more complicated than it needed to be, extract methods if the same fixtures were used for an entire file, etc)

I thought I should get some feedback before I sink any real time into this.
After the `unshift`, the file in lib will always be hit first; we need to add lib to the load path to make sure that the requires inside of `lib/json-schema.rb` etc all still work.

If everyone is running the tests via either `rake` or `bundle exec ruby test/foo_test.rb`, the load path manipulation isn't even necessary. But the tests have previously been written so that you didn't need bundler (I think this project _predates_ bundler). If I remove the `$:.unshift` line:

~~~console
$ ruby test/test_one_of.rb
/Users/khargraves/.rubies/ruby-2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- json-schema (LoadError)
	from /Users/khargraves/.rubies/ruby-2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/khargraves/sauce/rb/json-schema/test/test_helper.rb:2:in `<top (required)>'
	from /Users/khargraves/.rubies/ruby-2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/khargraves/.rubies/ruby-2.1.3/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from test/test_one_of.rb:1:in `<main>'

$ bundle exec ruby test/test_one_of.rb
Run options: --seed 57447

# Running:

..

Finished in 0.007088s, 282.1670 runs/s, 705.4176 assertions/s.

2 runs, 5 assertions, 0 failures, 0 errors, 0 skips
~~~