Fix broken build due to unit test include order

 Commit 4348d1e6f74a87af55c6c01e7a0cb292e9dec114
 introduced a bug that breaks the unit tests unless
 they run in a certain order. Both path.moon
 and os/fs.moon tries to include the same Enum, which
 fails since ffi.cdef can only include definitions once.

 This solves the bug by using Lua variables instead of
 ffi.cdef Enums.
vim-patch:7.4.187

Problem:    Delete that crosses line break splits multi-byte character.
Solution:   Advance a character instead of a byte. (Cade Foster)

https://code.google.com/p/vim/source/detail?r=a1c07956171a133583df42627d3498f935e59988
Replace `alloc_check` by `xmalloc`

`alloc_check` is just a wrapper around xmalloc, so we can remove it and use
xmalloc directly. ref #487 / #488

The call was replaced in the following files:

- ex_cmds.c
- misc1.c
- ops.c
vim-patch:7.4.192

Problem:    Memory leak when giving E853.
Solution:   Free the argument. (Dominique Pelle)

https://code.google.com/p/vim/source/detail?r=04c4ef8c0a1b757494500e46400552b135135e94