Emit build error when `"use cache"` is used without `dynamicIO` enabled (#72781)
Using a build error instead of a runtime error allows us to fail early,
and show a proper error source in the terminal and in the dev overlay.
<img width="777" alt="Screenshot 2024-11-13 at 22 19 45"
src="https://github.com/user-attachments/assets/d0ee3c69-71f5-4aa6-8c0a-879217f66930">