VIM-288 Map commands

It's the IdeaVim maintainer's pull request for tracking development status of [VIM-288](http://youtrack.jetbrains.com/issue/VIM-288).

Current TODO list for key mapping:

* [x] Handle IntelliJ shortcuts without the special `"Vim"` keymap (available in builds ≥ 201)
* [x] `:map {lhs} {rhs}` key mapping commands
* [x] Basic recursive key mapping support
* [x] Key mapping timeouts
* [x] Use `timeoutlen` option for setting timeouts
* [x] Basic Vim `<>` notation for keys
* [x] Read key mapping commands from .vimrc
* [x] No-argument `:map` commands for showing key mappings
* [ ] Non-recursive `:noremap` commands
* [ ] Detect key conflicts between the IDE and Vim key mappings
* [ ] Support `:source` command used in .vimrc for splitting key mappings into several files
* [ ] More `<>` notation keys
* [ ] Support for mapping keys to Ex commands