Avoid relative names in type checking messages

This also simplifies the error message by not showing the full
query. Only the offending expression is shown.
Removes check for unused field
Improves error message copy
Remove unused field altogether
Merge pull request #297 from thiagoarrais/pp-type-check-error-msg

Avoid relative names in type checking messages
Add test for handling of `and` with conditionals in `Validator`
Merge pull request #300 from lexmag/more-validator-tests

Add test for handling of `and` with conditionals in `Validator`
Link to hexdocs.pm
Return validation errors as maps
Closes #286
Change predicates to return `nil | binary`
Merge pull request #301 from lexmag/errors-as-map

Return validation errors as maps
Callbacks first draft
Callbacks first draft
align pipes
Implement @josevalim's suggestions
Syntax is not callback Mod, :fun
Add documentation, tidy up
Fix private function, doc
Hookup callbacks to backend
Fix callback