Add context to error messages

This adds context to error messages.  Take for example, this document:

```javascript
{ "a": { "b": [1, {"c": 3 }]}}
```

If the value for "c" should not be an integer according to the spec, then an error message will be printed out with the following prepended: ROOT.a.b.1.c

I realize this is more of a feature addition rather than a simple bug fix.  I am open to discussion.