Add about dialog in Notebook Help Menu.

This allow to get info on version of IPython when running remotely.
The about dialog also send a kernel info request and display the banner
which is useful for non-python kernel that don't match IPython version
Move language info from kernelspec to kernel_info_reply
Use language_info instead of kernelspec in nbconvert
Remove language info from kernelspec test
Update docs about kernelspecs and kernel_info_reply
Add language_info field to message spec tests
cache sys-info
widget registry
registering core widgets
Adding custom keys for core jptr notebook
jupyter -> IPython
Merge pull request #6554 from Carreau/itsallaboutme

Add About IPython
fix Windows typo

introduced in #6810
Merge pull request #6819 from minrk/windows-typo

fix Windows typo
Merge pull request #6493 from SylvainCorlay/python_widget_registry

Creating a widget registry on the Python side.
Merge pull request #6793 from takluyver/langinfo

Move language info from kernelspec to kernel_info_reply
copy nbformat.v3 to v4
update v4 schema

use jsonschema refs, no need for jsonpointer
update v4 schema mime-type expression

fixes inappropriate JSON match
source is required in all cells