git::install updates (diff/file lock/diff notice)

Updated the logic that verifies current tag by doing
a diff and forces an update if we don't match the intended.  This
also allows rolling backwards and forwards with tags.

To compliment the tag/branch diffing I put in logic to specify
a lock file that holds a tag until someone removes it regardless
of upstream state.

If there is a lock file and the local state is out of sync
with the upstream a notification shows in the puppet output.

I updated the header doc to match apache module style.

Change-Id: Ie04a5793b09b0d783698115fe43ce839bdf60478