README.md: Fixed brew install instructions
Anchor gitignore paths

This makes the intention more explicit and avoid any accidental
matching elsewhere in the tree.

Conflicts:
	.gitignore
Rename and refactor mch_FullName.

* Rename mch_FullName to mch_full_name to match the style guide.
* Add mch_full_dir_name, which saves the absolute path of a given
directory relative to cwd into a given buffer.
* Add function append_path, which glues together two given paths with a
slash.
* Adapt moonscript coding style to the tests.
Correct a few parentheses.
Apply small refactor to unit tests

Redefine macro constants as enums in the ffi and import those in their
respective test modules.
Assert that vim_strsize and vim_strnsize gets a non-null parameter.
deleted HAVE_SETENV #ifdefs

this removes a putenv() implementation which is not needed anymore
i don't think we will support OS390 Unix
replaced calls to getenv()/setenv() with the mch versions
replaced mch_getenv and mch_setenv macros with functions in os/env.c

until all mch_getenv calls are updated to the right types, there is a
mch_getenv macro with typecasts
added unittests for mch_getenv and mch_setenv
removed mch_getenv typecast macro
moved code from get_env_name to mch_getenvname_at_index
added unittest for mch_getenvname_at_index