Reworked file mapping module to accomodate MSVC 12.0.

MSVC 12.0 requires a more complex API hooks in order to work on virtual files. In particular, whenever it encounters a source file, it tries to traverse the entire directory, adding files into some sort of bloom filter. I suppose they tried to optimize header file lookup. Reporting lookup failure seems to fool it.

In addition, it uses ntdll API directly instead of going through its kernel32 counterpart.
fix include order on server - it can get mixed up

There is a test for that, but it seems lacking - fix it.
some error handling in dll injection
fix a nasty segmentation fault heisenbug
started using MinHook for API hooking

Started using decltype to avoid boilerplate declarations.
drop /Zi compiler option when creating pch
hook NtQueryFullAttributesFile instead of 4 GetFileAttributes*
remove outdated comment
fix createprocess hooking to work with MinHook

No longer possible to use IAT for calling CreateProcess, we must use trampoline returned by EasyHook.
test all compiler flavors, not just x86
hook another NT api, one GetFileAttributes uses

AFAICT it is completely the same as one used by GetFileAttributesEx