Remove $el_to_style from the widget javascript code; '' now defaults to this.$el

This seems to make it easiest to select the top-level element.  An alternative is to use special syntax for top-level elements, like in https://github.com/ipython/ipython/pull/6185

This will be followed up by other fixes that let the user set specific common properties of different elements.

This change also adds the .addBack() call, which means that nonempty selectors now apply to this.$el and its descendants, rather than just the descendants of this.$el.
Fixed pandoc version detection.
Fix js-tests for new default selector logic.
Merge pull request #5 from jdfreder/css-top-default

Fix js-tests for new default selector logic.
avoid unregistering widget model twice

widgets are registered when the comm is created;
closing unregisters them. Calling `close` a second time
should be a no-op.
Revised pandoc version detection.
Fixed indentation error.
Fixed parse_filename.
fix loginwidget css
Merge pull request #6250 from minrk/double-free-widget

avoid unregistering widget model twice
Merge pull request #6226 from jasongrout/css-top-default

Remove $el_to_style from the widget javascript code; '' now defaults to this.$el
Add EventfulList and EventfulDict trait types.
Address review comments @takluyver
Added on_events convinience method
Use ternary operator for callback registration
kwarg on_events and hardcoded callbacks
s/this/self
Upgrade default mathjax version.

This also fixes an issue with ```from IPython.external import mathjax; mathjax.install_mathjax()``` not working properly, because of a changed version schema.
Suppress virtualenv warning messages on Windows

Suppress 'WARNING: Attempting to work in a virtualenv...' message
on Windows in bash and PowerShell.  Adapts
pip.locations.running_under_virtualenv for use in no sys.executable
symlinks case.
Apply os.path.normcase to venv detection