Semver updates.

- s/MMC_VERSION/MMC_SEMVER/g
- MMC_SEMVER was originally implemented with literals. The values
were explaned in a comment. Now they're preprocessor defines.
- Added semver_c. It uses MMC_SEMVER's preprocessor defines to
match semantics at runtime.