Added validation (simple and JSON schema)

I added support for a very simple type based authentication (to circumvent the complexity
of JSON schema where it wasn't needed) and a JSON schema based approach.  The basic idea
is that if the expression rule is a string, we use a simple type based or wildcard
approach and if it is an object we use JSON schema.  This seems like a good compromise.

This closes #4.