Semantic versions in Go