add .vimrc and src/.ycm_extra_conf.py
Include <stdint.h> in types.h
Replace UINT32_T by uint32_t
Remove useless sizeof(uint32_t) == 4 test
Extract indent_c.c from misc1.c
Adapt include guards to the style guide
Use include paths relative to src/

As described in Google's style guide, the basis for Neovim's

> All of a project's header files should be listed as descendants of the
> project's source directory without use of UNIX directory shortcuts .
> (the current directory) or .. (the parent directory).

Add src as an include directory to facilitate this.
Migrate input reading to a libuv event loop

This configures a libuv event loop running in a background thread, started with
the 'io_init' at the beginning of the program. For now it's only responsible for
reading from stdin(or stderr when vim is started on the right side of a pipe),
but this infrastructure can be reused for implementing other mch_* functions
that would require a libuv event loop.

Here's a list of changes performed:

- Move mch_exit, mch_inchar, mch_delay and mch_char_avail to the new 'io' module
- Remove unused functions in os_unix.c
- Remove hangul input support

The blocking aspect of 'mch_inchar', 'mch_delay' and 'mch_char_avail' is
emulated using a mutex combined with a condition variable, set by the thread
running the event loop.

This also removed all code that made use of the 'inbuf' static variable in ui.c
including the hangulin.c module. Hangul input is scheduled for removal from vim
(if vim is dropping support for a feature then I guess it's safe for us to
remove it too) and I had to tweak it to compile without GUI, but I should have
avoided the trouble and removed it from the beginning of the project. If hangul
input is needed we can try to integrate when we have a codebase that is easier
to maintain.
Remove stdin_stream as a module global

Use it as data passed to the callbacks. This will improve reuse of this code in
the future
Undo input buffer code removal

It shouldn't have been removed in the first place, since it's reponsible for
converting incomplete sequence into characters. A temporary helper function was
added to replace the `read(2)` call in the `fill_input_buf` function.
Refactor signal handling

This moves signal handling out of os_unix.c and into libuv event loop. The
actual handlers are in signal.c.