create a ipynbv3 json schema and a validator

Json Schema is a draft ment to describe the structure of a Json format. 
It could be used to validate which file are valid ipynb files.

This is a first draft a ipynb schema and validator, mostly auto generated. 
There are still things that could be added, like 'cell level' is 'optional' but could be added as 'required only if cell is of type heading', or added description. 
IIUC, one could even create it's own subtype like codecell/markdowncell and reference it to have more fine grained validation.

cf http://json-schema.org/
http://tools.ietf.org/html/draft-zyp-json-schema-03

schema is autogenerated from
http://www.jsonschema.net/index.html#
Then tweeked a little