Add semantic versioning tagging



Deploy Plan
-----------
Does Infrastructure need to know anything special about this deploy? If so, keep this section and fill it in. **Otherwise, delete it.**

Rollback Plan
-------------
**If this pull request requires anything more complex (e.g., rolling back a migration), you MUST update this section. Otherwise, delete this note.**

To roll back this change, revert the merge with `git revert -m 1 MERGE_SHA` and perform another deploy.

URLs
----
* [Jira issue MOBILE-635](https://sportngin.atlassian.net/browse/MOBILE-635)

QA Plan
-------
Provide a detailed QA plan, or other developers will retain the right to mock you mercilessly.

Giving this some though, I consulted the semver.org docs:
Increment MAJOR version when you make incompatible API changes,
Increment MINOR version when you add functionality in a backwards-compatible manner, and
IncrementPATCH version when you make backwards-compatible bug fixes.

I don't think it makes sense to increment multiple versions.  If you make a MAJOR change you should increment the MAJOR number (minor and patches are brought along).  So I changed it so it will only increment one version at a time (major if set, then minor if set, then patch).
I chose to reset the lower version numbers to 0 after incrementing because that is what is generally done.  A new major release generally starts at 2.0.0 (not 2.23.34) and increments from there.