Handle OOM in the rest of Wasmtime's non-component, -async, -compilation APIs by fitzgen · Pull Request #12858 · bytecodealliance/wasmtime

A bunch of random places:

* Add: `Trap::try_new` to handle OOM while creating traps
* Use: `TryVec` inside `Func::call_impl_do_call` and `wasm_val_raw_storage` to
  hold the args and rets
* Add: `Instance::try_exports` for iterating over an instance's exports while
  handling OOM
* `Linker:try_get`, like `Linker::get` but handling OOM
* `Linker:try_get_by_import`, like `Linker::get_by_import` but handling OOM
* Use `try_new` to box things in `SharedMemory::new`
* Use `TryVec` instead of `Vec` in our dynamic tables
Excludes component-, async-, and compilation-related APIs.