[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).
You should not use `map` without `nore` here. Also `search()` is a waste of CPU here: just check that `getline('.')[: col('.')-1] =~# '^\s\+$'`. Another variant: `virtcol('.') - 1 == indent('.')` (will jump to the beginning of text in case cursor is inside the indentation, full equivalent is `virtcol('.') - 1 <= indent('.') && col('.') > 1`).