update readme: "progress" section; formatting
xmalloc() that succeeds or gracefully aborts
Avoid a seg fault when exiting after OOM error

I'm debugging OOM behavior using http://www.nongnu.org/failmalloc/ on Linux.

gdb environment:

```
set env LD_PRELOAD=libfailmalloc.so
set env FAILMALLOC_SPACE=0xF00000
```

SEGV was happening like this:

```
Starting program: /home/felipe/code/neovim/build/bin/nvim
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Vim: Error: Out of memory.

Program received signal SIGSEGV, Segmentation fault.
0x00000000004d3719 in getout (exitval=1) at
/home/felipe/code/neovim/src/main.c:836
836       if (*p_viminfo != NUL)
(gdb)
```

After the fix it works as expected:

```
(gdb) set environment LD_PRELOAD=libfailmalloc.so
(gdb) set environment FAILMALLOC_SPACE=0xF00000
(gdb) r
Starting program: /home/felipe/code/neovim/build/bin/nvim
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Vim: Error: Out of memory.
Vim: Finished.
[Inferior 1 (process 21505) exited with code 01]
(gdb)
```
Document xmalloc() and deprecate lalloc()
xrealloc(): similar to xmalloc()

Replaced all calls to realloc by xrealloc. All `== NULL` tests can be removed
and the code within `!= NULL` tests can be unwrapped.
Add basic Doxyfile.
Add doxygen-style comments to functions from os/fs.c.
Split code for counting and parsing arguments
Extract `shell_skip_word` from `mch_call_shell`
Extract `shell_count_argc` from `mch_call_shell`
Make `extra_shell_arg` a `mch_call_shell` parameter
Extract `shell_build_argv` from `mch_call_shell`
Refactor/cleanup argument parsing functions
Refactor SHELL_* defines into enum typedef

The SHELL_* defines are the bitflags that can be passed to `mch_call_shell`.
The enum is defined in 'os/shell.h', where all shell-related functions will
eventually be defined.
Update `call_shell` signature to use `ShellOpts`
Rewrite `show_shell_mess` as a `ShellOpts` flag
Add doxygen comments to the functions in shell.c
Fix shell.{c,h} comments to match the style guide
Inline ga_init()
Rename ga_init2() to ga_init()