Switch to CodeMirror 4.6.0

Update to CodeMirror 4

That mean multiple cursor ! Yeaaah. 

<del>On the dark side, we have to painfully recode ipythongfm and ipython mode (I'll appreciate help) .</del> (Done)

A few things have changed, in particular `event.stop()` does not exist, and I had to comment the `goLineUp` and `goLineDown` in kerboardmanager as returning `true`/`false`seem not to be the way to go anymore to prevent CM from handeling the events ( @ellisonbg your input on that )

<del>Completer does not intercept up/down anymore...</del>

Todo: 

  - [x] update to cm 4.6
  - [x] fix completer
  - [x] search for "somethingSelected" add "or MultipleCursors" (like completion)
  - [x] fix shift tab 4 time select previsous cell
  - [x] fix tests.
  - [x] remove deprecated logic since CM 2.x
  - [x] ~~completer : insert at all cursors.~~
  - [x] autohighlight (Carreau/ipython#10)

But globally it seem to work.