SystemTools: Refactor test file and directory locations

The full path for files used by SystemTools tests were preconfigured
in a generated header file by CMake variables.  This begins to get
unwieldy and clutters the CMake files once more variables and files
get added.  In preperation for more file and directory tests being
added, the preconfigured variables are now just the source and binary
directories for which all tests can base themselves off of.

Change-Id: Iae9e11592a3c040ce2e9cc90dbd1ccedfc3129ea
SystemTools: Use extended paths on Windows for > 256 length

Many Windows filesystem calls (but not all) have a MAX_PATH limitation
of 260 characters (drive letter, colon, backslash, 256 char path, null).
This is especially problematic for interacting with large highly nested
build trees (the boost C++ libraries, for example). This limitation can
be overcome by using extended length paths instead.  By converting
local filesystem and network paths to extended length paths before
passing them to the underlying APIs the maximum path length can be as
large as 32767 characters. The new ConvertToWindowsExtendedPath
function will convert "E:/a.txt" to "\\?\E:\a.txt" and "\\Foo\a.txt" to
"\\?\UNC\Foo\a.txt".

This also adds a hidden CMake option, KWSYS_TEST_SYSTEMTOOLS_LONG_PATHS,
which, when set to TRUE, will enable the extended length path tests.
This is off by default since if something does go awry, the resulting
leftovers could be difficult to delete manually.

Change-Id: Ib7ac1f657241ed389169678d1c078c0d836f1c7b