put Running tab on the page
minimal KernelList
add @onlyif_any_cmd_exists

like @onlyif_cmds_exist, but pass if any is available instead of all
run html nbconvert tests if node or pandoc is available
inconsequential cleanup pass on test_nbconvertapp
suppress warnings test_pandoc
capture logging in a few tests

this could probably be made more general,
but these were the two places I noticed log output.
install nodejs on travis
catch_warnings(record=True)

record is keyword only on Python 3
ok, Running tab is working now
fix typo in method name
refresh of Notebook list should reload sessions
don't double-join the notebook path
remove reiterated repetitively redundant "actively"
fixup positional arg parsing in notebook app

- `ipnb .` triggers override of sub-config, even when the parent isn't changed
- `ipnb /path/nb.ipynb` sets notebook_dir to `/path`
write config instead of direct assignment from the command-line

Gross.
added IPython.session_list

before this, kernel_list and notebook_list each fetched and held onto
their own copy of the sessions.
refer to notebooks, not kernels.
get _ipython_display_ method safely

use the same method we use for `_repr_foo_`
DOC : modified docs is HasTraits.traits and HasTraits.class_traits

 - change list -> dict to reflect what the code does
 - clarified how kwargs work (instead of just referencing enthought.traits).
 - fix classes -> class' spelling