Add unit tests for mch_isdir.
Remove static declaration of executable_file.

Since static functions are only visible in the file in which they are
defined, this needs to be done in order to unit test the function.
Add unit tests for executable_file and mch_can_exe.

Caution: There is a pending test which should be implemented.
Port mch_isdir to libuv.
Implement pending test.
Remove USE_SYSTEM and code only run under USE_SYSTEM
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
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