Makefile overhaul 2.0. (Don't merge yet).

This is reference PR /  work in progress with an 0.8.0 release target.

Big changes:
- formatting
- documentation (LOTS)
- variable names
TODO:
- double check backward compatibility
- finish project make