fix(Turborepo): ignore working tree state for fixed git comparisons (#7838)
### Description
- Ignore uncommitted changes when both ends of a git commit comparison are specified
- Update our internal representation of git range comparisons to fix the "from" side, and make the "to" side optional.
- Slightly change our git range parsing to allow for empty ranges so that we can give a slightly better error message
Fixes #7818
### Testing Instructions
Tests updated for new internal representation, also added new tests to specify that uncommitted changes are ignored when both sides of the comparison are fixed
Closes TURBO-2696