+ Fixes 143 by checking dirty flags for arrays and properties before revalidating. In order to allow for strict mode, this also passes the 'strict' flag down to the Array validator, in which case it will revalidate on every change.
+ Adds testing support for python3.7
+ Augments tests to run with newer versions of jsonschema
+ Recognize the `$id` property in place of the `id` property