Added ToNormalizedString helper for SemanticVersion