Bug fix for xolox#misc#path#which() on Windows*

* The old code looked exclusively at $PATHEXT even though the empty
  extension should have priority over extensions defined in $PATHEXT
Remove compatibility checking*

I've decided to solve this problem (of guaranteeing compatibility between
Vim plug-ins and miscellaneous scripts) on a completely different level.
FIX: path#which() does not handle already existing Windows file extensions.

When I invoke xolox#misc#path#which('gvim.exe') on Windows, nothing is returned. The problem is that all file extensions in $PATHEXT are appended, but it is not checked whether the passed program as-is is executable. Let's do that last when no extension yields a match; this avoids that BOTH .../gvim and .../gvim.exe are returned.

Additionally, the iteration logic is wrong. Windows does not check all PATH components for .BAT files, then check all for .EXE etc. Instead, executables in an earlier component of PATH are preferred, regardless of the order of the file extension in PATHEXT. Therefore, swap the inner and outer loop. It's also more efficient, because xolox#misc#path#absolute(directory) is only done once for each component.
Properly document dependency isolation
Update extracted documentation
Merge bug fix for xolox#misc#path#which()

This undoes e25ad02 which was my unpublished attempt to solve this problem
and merges a0363c9 which is a better way to solve the problem, contributed
by Ingo Karkat (thanks!).