Change checkRecursive key name
Fix #86: cache results for recursive schemas

When dealing with recursive schemas, don't just return null (which
assumes a pass) - cache the errors from last time, and add them to the
current error list.

It was working fine for the plain validate() method (when the only time
you'd see a data/schema pair twice is if it had no errors), but was
causing problems with validateMultiple().
Add second test, to be thorough
Fix #67 - cope with null values in schema
Update README.md
added npm prepublish task to remove //@ sourceMappingURL
fixed editing lint

correct name for tests
removed console.log()
.npmignore /build

component.io's build file (not same as npm's)
ValidationError extends Error
Fixed ValidationError tests

cannot use deepEqual anymore
Fixed pre_publish grunt task name

Thanks Travis!
Merge pull request #94 from geraintluff/feature/prepub

added npm prepublish task to remove //@ sourceMappingURL
Version bump
Merge pull request #95 from geraintluff/feature/error_prototype

Feature/error prototype
Add `banUnknownProperties` flag
addSchema(): check for non-string URL as well as missing schema
fixed collision in error code for CIRCULAR_REFERENCE and FORMAT_CUSTOM
removed sourcemap from products

modified Gruntfile
* added post-build/test
* split build target
root maps removed from git
* delete files
* added to .gitignore
rebuild main products
remove the .map.js files too
Populate dataPath for required properties