neovim.rb: modernize the style

https://github.com/styleguide/ruby
neovim.rb: improve dependency

1. remove unnecessary deps `md5sha1sum`
2. add `=> :build`
3. add missing deps `autoconf`
Merge pull request #922 'Improve neovim.rb'
Replace int with bool in some files. #654
Replaced most TRUE/FALSE macros in arabic, mbyte and spell. #645
remove proto.h include from vim.h
remove stdbool.h include from vim.h and globals.h
move memory.h include to version.c
move ascii.h include out of vim.h
move locale.h include out of vim.h
move <inttypes.h> include out of vim.h
move wctype.h include out of vim.h
move assert.h include out of vim.h
move stdarg.h include out of vim.h
move errno.h include out of vim.h
Merge #921 'Remove includes vim.h'
Fix two android compile errors in fs.c #924

Replace usage of deprecated S_IEXEC with S_IXUSR.
Rename a variable named "errno" to avoid clashing with define.
Add cmake platform checks

- Defined CMake checks for all headers in config.h.in
- Removed headers checks that are not used anymore:
  sgtty.h sys/statfs.h libintl.h poll.h
- Added UNIX check
- Add some fatal checks
  + Check for setenv() and fail if it does not exist
    since our os layer just assumes it does
  + lstat is required by os_unix.c
  + sys/wait.h is required in UNIX
- Removed entries for functions that are not being used: getcwd,
  getrlimit, getwd, nanosleep, sigaltstack, getwd, sigstack, fseeko
- Replaced nearly all defines in config.h.in for functions with
  compile time checks
- Add check for symbol FD_CLOEXEC
- HAVE_ICONV_H and HAVE_ICONV hold the expected checks but Neovim uses
  USE_ICONV define to actually decide whether to enable it
- Removed checks that are no longer needed
  + USEMEMMOVE
  + _FILE_OFFSET_BITS
  + HAVE_ST_BLKSIZE
Clean up DEBUG check in config.h.in
Add platform check for langinfo CODESET