Apply small refactor to unit tests

Redefine macro constants as enums in the ffi and import those in their
respective test modules.
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 are several pending tests which have to be implemented.
Implement pending tests.