Add constraints to fields.

* minimum is `enum` as its type depends on the type of the field it is nested in. AFAIK this cannot be expressed in JSON Schema v4
* maximum is the same story as minimum
Add primaryKey and foreignKeys
Merge pull request #4 from pwalsh/feature/more-spec

Additions to comply with current state of JSON Table Schema spec