Add macro to determine compiler family
Keep #if and indents consistent
Set up code branches based on compiler family and mark TODOs
Shows ${NTA_COMPILER_FAMILY}
Fix string escape
Fix cmake variable syntax
VC-specific asm should be explicitly for VC, not for all compilers on Windows
Using CMake built-in variables to determine compiler family
Add comment for macro get_compiler_family
Fix: NTA_PLATFORM_darwin86 branch and else branch broken after numenta/nupic.core#94 .

By carefully comparing with https://github.com/numenta/nupic.core/blob/2d4d191f10812450a95dd4e4d8492f0d3af79e14/src/main/math/array_algo.hpp
Add system include in a cross-compiler way
Add gcc specific compiler flags only when the compiler is a gcc variant
Delete a comment regarding completed TODO
#if order consistency
VC-specific memory management code should only be applied under VC
Recover `zonf.h` and fix #106

From:

* https://github.com/numenta/nupic/blob/46835bfdf53b4b2d12f88ed1fd0dd02f33bf22aa/external/common/include/zconf.h
* https://github.com/numenta/nupic/blob/46835bfdf5/external%2Flinux32arm%2Finclude%2Fzconf.h
* https://github.com/numenta/nupic/blob/46835bfdf5/external%2Flinux32armv7%2Finclude%2Fzconf.h
Wide character fix for Directory.cpp
Merge branch 'master' of https://github.com/numenta/nupic.core into 103-friendly-to-windows

Conflicts:
	src/main/math/ArrayAlgo.hpp
Solving temporally using `theirs`
Fix ArrayAlgo.cpp on Win again by incorporate with fc5245c0a13372edf097a1fea8bb3867638b98f8
Move exec functionality to OS interface layer