Treat non-deterministic prep errors as internal errors (#4364)

Closes https://github.com/paritytech/polkadot/issues/4293

This PR changes the way how we treat a certain subset of PVF preparation
errors. Specifically, now only the deterministic errors are treated as
invalid candidates. That is, the errors that are easily
attributable to either the the PVF contents or the wasmtime code, but
not e.g. I/O errors that could be triggered by the OS (insufficient
memory, disk failure, too much load, etc). The latter are treated as
internal errors and thus do not trigger the disputes.
23 jobs for master in 36 minutes and 34 seconds (queued for 9 seconds)
Name Stage Failure
failed
check-dependent-cumulus Build
39  | use pallet_election_provider_multi_phase::BenchmarkingConfig;
|

For more information about this error, try `rustc --explain E0405`.
error: could not compile `polkadot-runtime-common` due to previous error
warning: build failed, waiting for other jobs to finish...
error: build failed
Cleaning up file based variables
ERROR: Job failed: exit code 1