Commented main

This series of patches replaces `main.c` with `main.commented`. As `main.c` and `main.commented` have been aligned in previous commits, there are now no changes in the code.

It also replaces some magical numbers with constants.