Generic field validation using JSON Table Schema

Adds initial support for schema validation, based on a structure similar to JSON Table Schema.

* Uses a `constraints` key to capture constaints `min/maxLength`, `required`, `regex`.
* Schema can be loaded from a URL or provided as a pre-parsed structure.
* Uses simple objects for collecting up errors and warnings

This is the first part of theodi/shared#142. Plenty of room for improvement, but hopefully step in right direction.