Feature: Be quiet when removing tags with 'rmt'

Just in case either the local or remote tag does not exist.
Feature: When creating an unsigned tag, make it annotated

Previously we were creating lightweight tags, which are useless other
than that they point to a commit.  Annotated tags display who tagged
it and when and have a message attached to them.
Refactor: Change the 'is_dirty' VCS helpers to be booleans

`_sw_svn_is_dirty`, `_sw_git_is_dirty` and `_sw_vcs_is_dirty` can now
be used in `if` statements without needing to check its value
explicitly.
Refactor: Swap order of checking for git vs subversion repositories.

We use git the most so checking for subversion repositories is almost
always a waste of time.
Refactor: Move the patterns we use for git divergence into the env file

--------------------------------------------------------------------------------
Branch:        feature/add-plugin-for-releasing-gems
Signed-off-by: Jeff Felchner <accounts+git@thekompanee.com>
Feature: Add git-versions subcommand

It displays all version tags on the repo.  It can handle various version
styles such as:

* 0.10.0
* 0.10.0
* 0.10
* 0.10beta1
* 0.10-beta-1
* 0.10.0.rc.1

Any of these styles can have an optional `v` in front of them like so:

`v0.10.0.beta1`

Additionally, any of the above styles can have an optional `release` or
`releases` in front as a way to organize into folders in a git GUI.

* release/0.10.0
* releases/v0.10.0beta1

--------------------------------------------------------------------------------
Branch:        feature/add-plugin-for-releasing-gems
Signed-off-by: Jeff Felchner <accounts+git@thekompanee.com>
Feature: Non-existent remote branches no longer show errors

Previously when deleting a remote branch that didn't exist (via rmb) it
would show an error.  We don't care.