Add test cases which fail with the current version parser

If the original version string is a 3 part (major, minor, micro) string which is
ivalid OSGi, the version update fails by adding an additional .0
Initial impl of new version parser
Improvements to get/set qualifier suffix

- Formatting fixes
- performance improvement to getQualifier()
- Better handling of qualifier suffixes
First pass of integrating the new version parsing

Replace osgi conversion logic with new version parser
Update a test which previously did fallback, but now works correctly
Improve the version parsing

Make the version parsing logic a bit simpler and more efficient with less looping.
Minor refactor, add one test case
Complete integration of new version parser

Rework some parsing to better handle various edge cases.
Finish changes to VersioningCalculator to use new parser.
Clean up code which is no longer necessary.
Use regex everywhere instead of manual parsing

This makes the code smaller and easier to read.
Fix ITs

Bug in handling of build number for a single project without an initial build number