allow js tests to run with tornado 4 and phantomjs
forward-port draft76 websockets

from tornado-3.2.2

only enabled during testing with phantomjs
don't pin tornado<4 on travis
bump minimum tornado version to 4.0

remove various websocket workaround for tornado 3
adjustments to filename increment

- start with no number (Untitled0 -> Untitled.ipynb)
- copy of copy increments instead of adding another `-Copy` (copy Foo-Copy1.ipynb gives Foo-Copy2.ipynb, not Foo-Copy1-Copy1.ipynb)
- copy file to new folder starts with the original filename, instead of unconditional `-Copy0`
Dates are JavaScript objects, and _pack_models returns an empty object
A String is an object
Correct height for checkbox widget
Test packing/unpacking instances of Date and String
Merge pull request #6886 from minrk/tornado-4

require tornado 4
Merge pull request #6922 from SylvainCorlay/checkbox_height

Correct height for the checkbox widget
Merge pull request #6920 from SylvainCorlay/serialize_date

Dates and Strings are JavaScript objects, and _pack_models behaves incorrectly in these cases.
Merge pull request #6915 from minrk/contents-no-0

use Untitled instead of Untitled0
remove no-longer-true pdoc comment

pdoc doesn't eval expressions, so it doesn't work on objects that aren't defined.
Merge pull request #6928 from minrk/pdoc-expr

remove no-longer-true pdoc comment