We now check relocations offsets are within range, and the relocation index is valid.
Also updated tests which contained invalid Wasm files that were previously not checked.
Could this be controversial?!? I know some people advocate for "minimal" correctness checks in LLVM, since the linker reads in hundreds of object files and we don't want to do expensive validation for each one.
These checks are pretty lightweight though, and should handily catch any bugs we might have.