Add API function to install a kernelspec
Add kernelspec command line entry point
Fix applications displaying subcommands
Add test for installing kernel spec
Trim which options are exposed on kernelspec CLI
Create REST API for kernel specs
Test kernel specs REST API

And fix kernel not found producing a 404 code.
Refactor kernelspec resource handler to separate URL prefix
Put full kernel info in REST API response for all kernels
Deterministic sort for kernelspec list, better error for install
Also look in /usr/local/share/ipython/kernels
more verbose message on missing jsonschema
better wording
same fix for jsonpointer
Kernel resource handlers now require authenticated user
Validate initial value of "_BoundedFloatWidget".
Better check for systemwide install privileges
Set kernel_id before checking websocket

If websocket attempt fails and cross origin attempt is detected, a HTTPError(404) error is raised. However, in the process of closing connections because of this 404 error, an unhandled Attribute exception (kernel_id not an attribute) is raised. Setting the kernel_id first avoids this.
Merge pull request #6003 from stevenmanton/master

Set kernel_id before checking websocket
Merge pull request #5796 from takluyver/kernelspecapp

Command line interface to manage kernel specs