Make compile methods in `xla::ifrt::Compiler` return a future of an executable
This is a signature-only change that makes compilation API return a future for asynchronous compilation. It is not yet safe to assume that all IFRT implementations will actually return the future quickly, so the CL adds `Await()` to every call site to preserve the behavior. Once existing IFRT implementations are updated with async compilation, we can update the call sites again to leverage it.
PiperOrigin-RevId: 860229942