changed semantic versioning logic to support snapshots and ivy/maven conventions. also added logic that prevents signing unless a flag (isReleaseVersion) is specified