remove cython extension.

Now in cython package itself, as stable.
remove Cython Built-in extension notebook
remove more ref to cythonmagic
use Cython.load_ipython_ext to simplify
add whatsnew and uppercase C in load_ext

Use uppercase as this is what is in cython docs.
Make comm manager (mostly) independent of InteractiveShell

This makes it possible to use comms from wrapper kernels, without
instantiating the full IPython shell machinery.

The one remaining place where we need a reference to shell is to fire
pre_execute and post_execute hooks (which are needed to get mpl figures
right). This is a pure IPythonism, that it should be safe to ignore if
shell is not set.
Make comm_manager a property of kernel, not shell
Safeguard against comm instantiation with both session and kernel (corner case)
remove on_first_message authentication

in ZMQStreams. No need for weird, special first message.

- use regular cookie auth
- use url param for session id
Fix broken show in pager button
Merge pull request #6673 from jhamrick/fix-tooltip

Fix broken show in pager button
Update to codemirror 4

Update to codemirror 4.6 and update most notebook to work wiht it
this include keyevent that where triggerd twice and the re-writing of
ipython-gfm anf ipython mode to work with require.
update to components master
rework keyboard management to avoit completer and up/down bugs
protect agains undefined
handle somehting selected and multiple cursors and 4 tabs show content in pager
fix this.editor reference
use require to load CodeMirror modes

CM's loadmode addon only works if you *don't* load CodeMirror itself with require.
remove unused cm_loadmode
add comment about codemirror.modeURL