JSON endpoint validator plugin

A plugin which validates the response from a JSON endpoint to ensure
that the list of keys provided a) exist and b) that their values are of
the correct type. Keys can have any value that has a corresponding type
accessible from the `typeof object` syntax, and additionally a special
'url' type is defined that uses the `url.parse` method to evaluate urls