Optional type checking on JSONField

This commit adds an optional `type` option which forces the value of a 
JSONField to match a particular type.

Closes #5.