Provide all CLI arguments to cli methods
Clean up Project and add tests
Add version command with inc subcommand

Takes BUILD_NUMBER and GIT_COMMIT into account when incrementing the
version.

If the BUILD_NUMBER environment variable is set, the pre-release number
will be set to MAX(BUILD_NUMBER, current+1). This ensures that the
number is higher than the previous release by the same mechanism.

1.2.3 => 1.2.4-0
1.2.3-4 => 1.2.3-5
BUILD_NUMBER=42, 1.2.3-4 => 1.2.3-42

If GIT_COMMIT is set, it is abbreviated and appended to teh prerelease
version. If the prerelease already has multiple components, all but the
head are replaced with a single commit component.

GIT_COMMIT=fd6282, 1.2.3 => 1.2.4-0.fd6282
GIT_COMMIT=fd6282, 1.2.3-4.5.6 => 1.2.3-5.fd6282
BUILD_NUMBER=42, GIT_COMMIT=fd6282, 1.2.3-4.5.6 => 1.2.3-42.fd6282