For some reason, ld64 gives common bitcode symbols a lower
priority than common non-bitcode symbols. As such, I've created a
BitcodeCommonSymbol in order to handle this.
Note that we still deviate from ld64's behavior in some cases,
particularly when bitcode and non-bitcode symbols of the same name are
mixed. I doubt such a situation occurs often in practice, so it should
be fine. I would like to avoid overly complicating our implementation
unless necessary. I've added comments in the test to highlight these
cases.