Remove __ARGS macro. Close #205

This is a squash of all commits sent to #81.

- Remove unused undef of __ARGS.
- Fix mch_rename declaration.
- Follow changes related to moved & extracted files.
- Properly indent function declarations of getchar.h and quickfix.c.
Use -Werror.

This makes all warnings errors. We don't want any warnings, so we should
enforce that.
Make Travis compile on GCC and Clang.
Add unit tests for ported filesystem functions.
Remove dead stack-checking code.

Code under HAVE_STACK_LIMIT is not used.
The definition was commented out in rev 180 of the original
Mercurial repo, and then completely removed in rev 2520,
but the code guarded by it was left in.
Remove traces of old custom undo memory manager.

There were two memory management implementations,
standard malloc-based, and a custom allocator.

Removed in rev 2230 in the Mercurial repo.
Move some of misc1.c to indent.c.

My little contribution to #209.
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.
First working version of expression parser

WARNING: part of expr.c after //FIXME!!! must be deleted after I figure out how 
         to properly do tests.

TODO: tests, documentation, command-line parser (expr.c holds only expression 
      parser)

Ref #170
Fix SEGV when parsing curly braces name
Fix parse_func_call
Report other positions
Fix Fix typo: s/Then/Than

Thanks for @ChrisWatkins
Rename OperatorType to CaseCompareStrategy
Use clearer names: s/subnode/children, s/next_subnode/next
Fix copy-paste typo
Fix parse_dictionary SEGV, make parse_name reuse results of parse_dictionary