Final changes to the pre-push hook for checking annotated tags

The pre-push hook has been completed and is checking that annotated tags follow
the correct version number and naming convention before anything is pushed to
the remote repository. Lightweight tags are not being checked, but it is advised
to not push them to the remote repository, since they are normally specific to
local working copies.

File: hooks/pre-push
--------------------
The following annotated tag conventions are now being enforced by this hook:

1. Tags must be named as vXX.XX(.XX), where each XX is any string of digits and
   the third version number is optional.

2. The first version number can be either v0.0, v0.0.0, v0.1, v0.1.0, v0.0.1,
   v1.0, or v1.0.0.

3. There can only be one annotated tag pointing to a specific commit.

4. Each version number must be unique.

5. Annotated tag versions are ordered by the date of the commit they point to
   and new version numbers must be incremented by one digit.

6. It is recommended that annotated tags point to commits on the master branch
   that are ready for release, although this is not enforced.