It was resulting in garbage characters with certain semvers with patch versions. Regression tests with the patch version "release1" replicate the issue. My thanks again to Andrew "RhodiumToad" Gierth for pointing out the lack of `+1` in a call to `palloc()` that was the underlying cause of the problem.
This produces output results that now properly conform to the most modern version of the SemVer spec w.r.t. prerelease versions.
This check can be tightened down later if we want to implement only (/sigh) the *current* v1.0.0 SemVer spec.
Noticed for certain semvers cast to text could come out with a garbage character appended to them. Thanks to RhodiumToad for help with diagnosis. While at it, switch to `snprintf()` to prevent buffer overrun vulnerabilities.
Some people use the current date in iso8601 YYYYMMDD form, let's test that.