Make the code readable and cleanup Makefiles

The test name should start with an uppercase letter (CamelCase).
The make test should not recompile everything if the executable is available.
Choose descriptive filenames instead of the general 'main.cc'.