Add functional tests for k.cmd (ApplicationHost)

- Extract common utils for functional tests to an individual project
- Add DisposableDirPath for neater cleanup logic
Enable KRuntime to be built on Mono

Following changes are made to achive the goal

1. Reorganize the makefile:
  a. #build-compile task is override
  b. klr, klr.core45, and klr.net45 as the only three native projects are
     built in their own tasks. Readability is therefore improved.
  c. The list of cross-platform projects are clearly listed.
  d. Skip building klr, klr.net45 and klr.core45 on Mono
2. Make Mono Entry build cross-platform
3. Add scripts wrapping the xcopy command
4. Update the nuspec at compile time to ensure the directory separator
used in it are platform-compatible
Copy the minimal set of dlls required for the KRE/kpm and DTH to run
Removed useless variable