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
cleanup whitespace
cleanup style fixed in separate PR and few other things
Merge pull request #6221 from Carreau/cm4

Switch to CodeMirror 4.6.0