Consistent json parsing for edge cases (fixes #2090)

*Note: This isn't really ready to merge yet.  It adds a test that passes under yajl (which is what has been used for testing), but exposes issus with other common json coders like oj and json.*

The test might be a bit over the top, but it seemed like a good opportunity to show how [appraisals](https://github.com/thoughtbot/appraisal) can help if you have to test multiple gemsets.

In order to setup:
```shell
rake appraisal:install
```

Test just yajl:
```shell
rake appraisal:yajl test:one['tests/core/json_tests.rb']
```

Test each json coder:
```shell
rake appraisal test:one['tests/core/json_tests.rb']
```