[WIP] Set some defaults early

Implements idea from issue #1664 

- [x] Create `runtime/early.vim` (definition of contents ongoing)
- [x] Load `runtime/early.vim` from `main.c:source_startup_scripts()`.
- [x] Update `runtime/doc/starting.txt`.

Notes: `early.vim` is mostly based on vim-sensible. I removed feature checks since they are unneded in neovim. 

`matchit.vim` isn't sourced because so early in the initialization `&rtp` might not be set yet, and we might fail on checking if the user has installed more recents versions of the plugin (which vim-sensible does, and I believe is the right approach). Perhaps `matchit.vim` should check if it was initialized by `early.vim` and allow resourcing otherwise (a different option would be to unlet `g:loaded_matchit` so it can be resourced afterwards).
I don't think we need to check `maparg()` because nothing could possibly be mapped at stage 1 of the init.

However, this raises the question of how this will affect existing plugins which check this map. They will behave differently in Neovim than Vim. 

We could change the actual internal definition of `<c-l>` to clear `hlsearch`, such that this mapping is not necessary; but then that could break some other plugin. I can't imagine what it would break, so maybe it is acceptable for this case.