Add check for version format following semver.org in TagRelease

- Add corresponding test with invalid version format
- Rename release argument as version
Add integration tests for recursive and shallow tagging