Suppress clang/llgo data layout link warnings

Clang and llgo are producing modules with slightly
different data layout strings, which causes warnings
to be generated. The actual layout is not materially
different, it's just (a) the order of the fields and
(b) llgo's layout containing extraneous fields that
causes the warning.

We now special case x86-64, and return the same layout
string as clang; additional architectures can be
added over time. There is no functional change other
than this: other architectures continue to work by
interrogating LLVM for known targets.