Bashed runtime nonsense.

The runtime stuff is well-intentioned, but not appropriate here. It will move
to a separate lib, even if that lib is a part of dipstick.
Compiler versioning is now based on semver.
c++ version updates.

- Added version string.
- Error checking is now consistent with other detection mechs.
All detection error checking is self-consistent.
Updates to normalized semver.

- Changed field size. Increased major and minor to 10 bits and reduced patch
to 12.

The original motiviation for 8x bits was so hex versions were visible. These
normalized values aren't meant for display, but for comparing 2 semvers.
This change allows for a more reasonable range of versions.
Small cleanup pass.
Added cygwin as a virtual OS.
Added note about gcc-compatibility.
Added flag for POSIX-compatible OSes.
Small error message change.
Comment updates.
Added macros.hpp to core include list, sorted list.
Updated README.md.