Add support for the new relocations and linking metadata section support in https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md. In particular, this allows LLVM to indicate which variable is the stack pointer, so that it can be linked with other objects.
This also adds support for emitting type relocations for call_indirect instructions.
Right now, this is mainly tested by using wabt and hexdump to examine the output on selected testcases. We'll add more tests as the design stablizes and more of the pieces are in place.
In the long run we probably need to revisit the style used in this file, but for now doesn't makes sense to follow the local convention and go for something like WASM_??_STACK_POINTER