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.