update CONTRIBUTING.md
Update CONTRIBUTING.md with current info

- Finish what @ashleyh started.
- Add section for Getting Started with Neovim.
- Add section for commit messages.
- Trim down on wording to keep it short.
replaced some mch_stat() with os_file_exists()
use os_getperm() in f_getfperm()
implemented os_file_get_size()
implemented FileInfo struct

This struct is a wrapper around `uv_stat_t` to hide the stat information
inside `src/os/`.
The stat file attribute will be private after all refactorings concerning
file informations are done.
replaced mch_fstat() with os_file_get_info_fd()
replaced some mch_stat() with os_get_file_info()
replaced some mch_lstat()
replaced mch_stat() in buffer.c
replaced last mch_stat() and mch_lstat()

files: memline.c and fileio.c
removed mch_lstat() and mch_stat() macros
Merge pull request #619 from stefan991/mch_stat-cleanup

Replace `struct stat` with `FileInfo`
Remove 2-iteration loop in syn_combine_list()

New functions created for counting & for copying(merging) the elements