refactor(turborepo): Change Detector (#7222)
### Description
In preparation for watch mode, I refactored the change detector to be
split into two parts:
- A change mapper that takes the changed files and a lockfile change and
produces changed packages (now in `turborepo_repository`)
- A git change detector that takes two git refs and produces changed
packages using the change mapper.
This should allow us to use the change mapper in other situations such
as ignored builds and watch mode.
### Testing Instructions
<!--
Give a quick description of steps to test your changes.
-->
Closes TURBO-2223