create a ipynbv3 json schema and a validator

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

autogenerated from
http://www.jsonschema.net/index.html#
then tweeked.

This version makes all our notedooks in docs/example/notebooks valid
change prompt_numper type

prompt number type was number or string ('*', '&nbsp')
require it to be either number, or null
prompt_number : number -> integer
number -> integer
limit cell_level and nbformat(minor) values
require prompt number for code cell
import jsonpointer and schema from external
Add jsonschema liscence in external
update json pointer
update Jsonschema version
import argparse from external
check for complete pyside presence before trying to import

importing pyside partially and then falling back to pyqt causes a crash
in sip (see gh-1431)
To avoid it try to locate all modules before the import and should that
fail print a warning.
Merge pull request #2755 from minrk/canclass

can interactively defined classes

*Only* interactively defined classes are canned.

closes #2754
P3K: fix DeprecationWarning under Python 3.x (base64.encodestring is deprecated)
Merge pull request #2776 from minrk/rmkill

remove non-functional View.kill method
Merge pull request #2778 from kmike/p3k-deprecations

P3K: fix DeprecationWarning under Python 3.x 
Prefilter shouldn't touch execution_count
Allow the %run magic with '-b' to specify a file.

The syntax would be:
    %run -d -b file2.py:30 file1.py

to break at line 30 of file2.py when running file1.py.

The old syntax
    %run -d -b 20 file1.py
still works the way it used to.

Suggested by user gozzilli on StackOverflow
(http://stackoverflow.com/questions/14305203/ipython-set-a-breakpoint-in-imported-file/).
Fix bp_file -> filename
Merge pull request #2782 from ellbur/run-breakpoints

Allow the %run magic with '-b' to specify a file.