Merge pull request #421 from emamanto/overhaul_master

Build system reboot (extensively tested by myself)
Merge pull request #422 from emamanto/overhaul_master

Build fixes
allows for splitting make process into jobs
Merge pull request #423 from wdawson/overhaul

allows for splitting make process into jobs
Missed this in the last merge.