Issue #66 - Add lint tool and uncrustify config. Update contributing documentation on coding style.
Extract crypt.c from misc2.c
Extract keymap.c from misc2.c
Fix style issues.

* Rename mch_full_name to mch_get_absolute_path.
* Rename mch_is_full_name to mch_is_absolute_path.
* Add a lot of missing parentheses.
* Remove yoda-conditions for consistency.
* Remove spaces in function declaration.
cleanup environment variable handling + unit tests

  * removed a putenv() implementation which isn't needed anymore
  * mch_getenv() and mch_setenv() are now functions in src/os/env.c
  * removes direct calls to getenv() and setenv() outside of src/os/env.c
  * refactored the logic of get_env_name into mch_getenvname_at_index
  * added unittests for the functions in os/env.c
Luarocks appears to be down, so let's use the mirror for now.
Fix memory leak and enable valgrind on travis
Move garray_T from structs.h to garray.h
Move some types and consts from structs.h to other headers

 - `foldinfo_T` to `fold.h`
 - `context_sha256_T` to `sha256.h`
 - `tagname_T` to `tag.h`
 - `pumitem_T` to `popupmnu.h`
 - `prt_*_T` to  hardcopy.h`
 - `CPT_*` consts to `edit.h`
 - `vimmenu_T`, `MNU_HIDDEN_CHAR`, and `MENU_*` constants to `menu.h`
Use check_function_exists() to check for _NSGetEnviron().

This avoids a compiler generated warning which result in failing to find
the function with -Werror active.  You could argue this is a bug in
CMake: http://public.kitware.com/Bug/view.php?id=13208
Remove hangul input support

Vim [documentation](http://vimdoc.sourceforge.net/htmldoc/hangulin.html), says
that hangul support is scheduled to be removed. I think it's safe to say we
don't want to support a feature even vim is considering removing.

Everything still compiles even after removing the header, so it's not being
used.

Before doing the initial import to neovim's repository, I had to tweak this
module to make it compile for terminal. It was a mistake that is now being
corrected.
Issue #311 - Clean up arabic.c, arabic.h, farsi.c, farsi.h. Tweaks to uncrustify.cfg.
Fix `free_all_mem` and EXITFREE definition

Because of the '$' in `if(DEFINED $ENV{VALGRIND_CHECK})` EXITFREE wasn't being
defined, so the `free_all_mem` wasn't being included or called in the resulting
binary.

This commit fixes that, and also adds includes needed for `free_all_mem`
compilation.
Fix memory leak in `eval7`
Added MODIFIED_BY and updated version information.
Make script portable across Python versions

Support both Python 2 and 3.
Add another unit test to mch_can_exe.
Move mch_can_exe, executable_file to os/fs.c.

* Rename executable_file to is_executable.
Declare is_executable as static and remove its unit tests.

Testing the public interface mch_can_exe should suffice. Every former
test of is_executable has a counterpart in the tests of mch_can_exe.
Thus we can keep private things private.
Simplify mch_can_exe extracting is_executable_in_path.