Clean up `LoadedExecutable::Delete` and `LoadedExecutable::IsDeleted`
This API was added for symmetry with IFRT arrays, but is not used by anyone. Not exposing the "deleted" state for executables simplifies IFRT implementations. Users who want to delete executables (such as `PyLoadedExecutable` in JAX) can always just drop the reference to the executable.
With this, `LoadedExecutable` is completely immutable once constructed. This also helps with some cases where users want to share the same executable across many places and want to ensure that executables are never modified across these shared entities.
IFRT Proxy's server-side logic now returns an `UNIMPLEMENTED` error for `Delete` and false for `IsDeleted`. This will not cause any disruption for existing workloads because no one is actually calling these methods outside tests.
PiperOrigin-RevId: 755912978