Path in errors

Solves klarna/jesse#13.

Property path is added to the `data_invalid` tuple. For objects, the binary key is used and for arrays, a zero-based integer index is used. This format is close to JSON Pointer http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 which is used when referencing properties within a JSON Schema and between different schemas.

I realize changing the layout of the error tuple is not ideal since it breaks current applications...