overhaul makefile, enable parallel builds

Enable parallel builds and drastically improve output.

Features:
* colorized output
* summarized output combines test reporting and compilation errors for
  build and tests
* parallel builds work with -jN --output-sync or -O

New make targets, all support parallel builds:
* make all - compile files regularly and for testing and run all tests
* make build - compile all files regularly
* make test - compile all files for
* make changed - compile files that changed from MASTER
Merge pull request #65 from jschaf/make-out

overhaul makefile, enable parallel builds
Fix build.sh mode and line-endings
Merge pull request #67 from ebfe/fix-build

Fix build.sh mode and line-endings
Update create_file to use std::io::FilePermission
Merge pull request #68 from ebfe/update-create-file

Update create_file to use std::io::FilePermission