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
load inputrc after IPython readline config

There is some subtlety, in that *user* IPython config should be higher priority than inputrc (more specific),
but *default* IPython config should be lower (less specific).

If readline config is customized, it will be allowed to run on libedit.
Also look in /usr/local/share/ipython/kernels
Adde slimerjs support to JS tests

This commit contains 16 more, squashed commits:

Added slimerjs flag

Fixed some bugs with flag code

Figured out how to add arg correctly

Cleanup

Improvements to the test framework for FF

Log to see if slimmer is actually running

Added print in controller to debug

Added full logging to casperjs

Remove the special logging logic since it was caussing a failure

remove notebook.dirty = false line in favor of
overwritting onbeforeunload.

Capture output for slimerjs

Fixed iptestcontroller rebase issues

Fixed rebase issues.

Wait for notebook to load completely before testing

Fixed stdout capture for slimerjs tests.

Clean-up comments in util.js

Added slimerjs to Travis

Fixed indent .travis.yml

Comment out slimerjslauncher env var.

Removed zmq flag which doesn't work there anyways,
it was added by me in a recent commit

Fixed travis yaml,

broken because of rebase
Fixed image test for slimerjs
Fix isolated svg color tests so 'rgb()' colors are accepted
Make notebook tests play nicely with SlimerJS
- notebook/dualmode_markdown.js
- notebook/safe_append_output.js
Make int widget tests play nicely with slimer
Added slimer support for py3.x
Fix for xvfb SlimerJS environment.
Some cleanup