Workaround for running DTH on mono

The process Exited event fires even though the caller is still running.
This is a workaround that skips the event altogether. This does mean
however that the caller will be responsible for terminating DTH on
mono environments.
Merge pull request #873 from OmniSharp/dev

Workaround for running DTH on mono
Give a warning in the KRE trace log when PDB generation is not supported
Add functional tests for k.cmd (ApplicationHost)

- Extract common utils for functional tests to an individual project
- Add DisposableDirPath for neater cleanup logic
Moving files copying to a batch file
Reorganize the makefile

This is the initial draft to reorg the makefile. The motivation behind
this change is to clearly seperate what projects not to be built on mono.
In addition some ambigous logics are rewritten.

1. #build-compile task is override
2. klr, klr.core45, and klr.net45 as the only three native projects are
built in their own tasks. Readability is therefore improved.
3. The list of cross-platform projects are clearly listed.
4. Skip building klr, klr.net45 and klr.core45 on Mono
Update source path in nuspec files for *nix compatibility
Make Mono Entry build cross-platform
Update the build scripts

1. Moving scripts to build folder.
2. Update the script blocks
Update KRE packing task

Use a temp folder instead of rely on nuspec to specify files in be
included. The approach is a work around to solve the cross-platform
incompatible path issue in nuspec.
Update the batchcopy.sh

Create the destiation folder if it doesn't exist.
Convert all two-space indent to four-space
Replace backslash with forward slash in script block.
Review feedback #1
Review feedback #2
Change the way nuget pack is done

Stop copying files to temp folder. Update the nuspec files instead.
Replace the alternative directory separator with platform-compatible
directory separator
Fix error in KRE-CoreCLR-x86.nuspec