env: Bashed namespace decl in env.hpp.

These modules are all preprocessor.
env: Added comment block.

It describes how to get a list of all preprocessor defines used by
gcc and clang.
env: Shelled os identification module.
env: Defined known operating systems.
Changed references to macos to osx.
env: Preprocessor enums are now 1-based.

Evaluating an undefined preprocessor identifier results in 0. We typically
force this to be a warning and error out, but we can't always guarantee
everything will be built with our cmake settings.

If we enumed starting at 0, we could end up with false equivalencies.
Starting at 1 easily solves this.
cmake: Reordered os detection alphabetically.
env: s/MMC/AXIOM/g.
env: Added error conditions when os isn't detected.
env: Defined complete os string.
env: Marked posix-compatible oses.
env: s/compatible/conforming/g.
env: GNU/Linux oses identified.