qtconsole: strip newline on text copy (fixes #6234)

IPython's inputsplitter inserts newline at the end of string passed to
it. So, if user didn't select newline before copying, we must strip it.
Fix code_to_line when called with empty code

Previously, it was referring to line before it was assigned. Noticed
when testing the R kernel.
Separate widget model name from com target name.
Generalise render/unrender to all cells type

Allow change of behavior in pure (custom) css.
Fix grammar in comment
s/target_name/model_name
Merge pull request #6665 from jdfreder/travis_please_run_on_this

Separate widget model name from com target name.
Merge pull request #6657 from takluyver/adapt-no-code-to-line

Fix code_to_line when called with empty code
Merge pull request #6651 from JIghtuse/strip_newline

qtconsole: strip newline on text copy (fixes #6234)
Merge pull request #6416 from Carreau/foobarcode

Unify Text/CodeCell code.
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