Add `least_significant` version logic

Signed-off-by: Adam Stegman <astegman@pivotallabs.com>
Allow user-defined final version number

  Also, reorganize the CLI integration tests

Signed-off-by: Adam Stegman <astegman@pivotallabs.com>
Error when passing manifest file and version to `create release`

Signed-off-by: Adam Stegman <astegman@pivotallabs.com>
Prefer single quotes for non-interpolated strings

Signed-off-by: Adam Stegman <astegman@pivotallabs.com>
Error when passing release version that already exists

Signed-off-by: Adam Stegman <astegman@pivotallabs.com>
Find latest version by comparing version numbers instead of latest array
Fix integration test by using reset to start the director

Signed-off-by: Phan Le <ple@pivotallabs.com>
Validate user-defined release version

Signed-off-by: Phan Le <ple@pivotallabs.com>
Added user defined release versions

- Added dependency on semi_semantic for version parsing/formatting
- Changed default dev version suffix to '+dev.1'
- Added new error: ReleaseVersionInvalid
- Release version db lookup checks for both old and new version formats,
  but uses the new format for new inserts
- Raises a ReleaseNotFound if importing compiled packages to an unknown
  release
- Removed rebasing of package and job versions (which are fingerprints)
- Added encoding of url parameters on http calls from the CLI to the
  Director
- Fixed bug in 'releases' list triggered by versions containing a '+'

[#62085266]

Signed-off-by: Maria Shaldibina <mariash@pivotallabs.com>