Add 'on_demand' option to interact() so that long-running functions can be started only when explicitly requested
Add initial implementation of 2-handle range sliders for integers.
Add float implementation of range widget
Add an extended range abbreviation including a step value
Disable run button until the function finishes
Fix format problem when showing an error
Add some tests for the 4-5 int/float form in interact()
Add tests for the on_demand option
Adjust range style so that the vertical range marker is visible
Compiled changes to minified CSS
Remove 4-5 tuple forms from interact()
Fix validate logic if min/max are changed
Remove tests for 4-5 tuples, add tests for validate logic
Update custom.js

Explain different semantics required for instances versus functions or classes. Based on comments of @minrk in #5985.
Implement atomic save

Ping @fperez, this should avoid issues with corrupted/lost notebooks
when the disk is full, though I haven't worked out how to test it just
yet.

Closes gh-6254
Rework atomic_writing with tests & docstring
Update custom.js
Merge branch 'master' into interact-range-widgets

Conflicts:
	IPython/html/static/style/ipython.min.css
	IPython/html/static/style/style.min.css
	IPython/html/static/widgets/js/widget_int.js
Default to 25-75% of min-max if no value is set instead of 0-1
Add fsync() call in atomic_writing