Merge pull request #421 from emamanto/overhaul_master

Build system reboot (extensively tested by myself)
Merges some build fixes.
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
Merge branch 'overhaul_master' into overhaul_volatile