Extend uv_build direct build compatibility
uv 0.10 can use direct builds for uv_build with `<0.10`, there were no breaking changes.
This PR also revamps the direct build detection to be more sensitive and improves the errors messages.
Skip empty workspace members instead of failing
The definition of "empty" here includes a member with only gitignored files, which are common when you are adding and removing workspace members across git branches