Allow the user to specify version on the command line.
Use hyphens in option/argument names.

Standard CLI usage is hyphens, not underscores.
Give access to the Version object, rather than a string version.

This version object is nicer to work with and has extra functionality.
Configure prerelease settings in github.

If the new version number is a prerelease version, set the appropriate
flag on the github release.

The prerelease status is driven here by two factors.

1. If the isStable() method returns false, it's a prerelease.  This flag
    is set based off of whether there are alpha/beta/etc flags in the
    version.
2. If the major version number is 0, it's a prerelease.  The 0.*
    versions can break compatibility and such at any time.
Change $currentVersion parameter to a Version instance.

This makes the interface a little cleaner and simpler to reason with.
Prompt for exact version with autocomplete.

Prompting for the exact version makes it easier to specify custom
version numbers to tag, including versions with build/prerelease data.

The simple behavior behind the common cases of patch/minor/major
increments are maintained [for the most part] by utilizing autocomplete
where the versions are automatically entered for the user as they type.
Handle releasing a previously unreleased repository.

Before this, errors would happen if the repository did not have a prior
release.  Now, it will successfully generate release notes.
Merge pull request #7 from nubs/more-version-stuff

Better version handling