Fixing TargetExceptions on invalid json when OnError is used

Issue: #104

I chose to fix this in `InvokeOnError`, since it seems like all error callbacks in a JsonContract will require a non-null object.  If that's not the case, this could also be fixed by modifying JsonContract.cs:397, where the callbacks are created.