A few changes to vim keymap

Changes
-------

1. :{number} brings you to the line with {number} on the gutter
2. :noh[lsearch] defined, replacing the `clearSearchHighlight`-action. ",/" doesn't work out of the box anymore, but can be recreated through `CodeMirror.Vim.map(',/',':noh')`. Also changed the test for this (it didn't test clearing selection before, as far as I can tell).
3. Changed `parseKeyString` so it now not only Accepts \<C-{Key}\> but <{Key}> as well. As a result things like `CodeMirror.Vim.map(',<Space>',':noh');` work now.
4. Added `CodeMirror.Vim.defineEx(name:string,prefix:string,func:function)` api. Notes below.
5. Added gj and gk, mapped to new `moveByDisplayLines`. Instead of moving to `cm.getCursor().ch` on a neighboring line, these commands behave more like `moveV()`, staying in the same column. This allows to move vertically within wrapped lines. Can override the default j/k-behavior through `CodeMirror.Vim.map('j','gj');` and `CodeMirror.Vim.map('k','gk');`.

Notes on defineEx
-----------------

 * name/prefix should obviously be unique, since they are used as identifier for the command.
 * "prefix" must be an actual prefix of "name", so "writeall" as name cannot be registered with prefix "wa", while "wall" works as name.
 * When selecting a command, the command with the longest matching prefix and matching full name is used (no changes to existing behavior here).

Example usage for defineEx
--------------------------

    //the following code registers :hello[world]
    CodeMirror.Vim.defineEx('helloworld','hello',function(cm,params){
      console.log("Hello world")
      if(params.args)for(var i=0; i<params.args.length; i++)console.log(" arg "+i+": "+params.args[i]);
    });

Known issue
-----------

 gj and gk don't work well with V on wrapped lines. This is a little tricky to solve. In vim, V activates linewise selection. Using codemirror-terms this would mean that while anchor/head are handled as usual, from/to are moved to beginning/end of their according lines. The cursor can still move within the line without changing selection this way. Right now the CodeMirror-vim-version of linewise selection moves anchor/head as well, so movement using gj/gk is undone unless you {number}gj/gk to another line.

 To fix this I would like to make visual mode more vim-like in general, but would need to set sel's head/anchor and from/to independently to make this work. As far as I can tell setting from/to to values different from head/anchor doesn't cause problems (but I might be missing something). The only way to do this right now though seems to be writing an own operation that mostly emulates `setSelection` and sets all values directly.