Fixes PR27551.
This is just to show where I'm going with the irsymtab changes. With this and
its dependencies, no-op incremental ThinLTO link time for Chromium decreases
to about 35s and total .bc file size increases to 1225420580 bytes (versus [0]).
This needs more tests and needs to be split into multiple patches. I also
want to try to shrink the size of the irsymtab further.
[0] http://lists.llvm.org/pipermail/llvm-dev/2017-April/111828.html
Depends on D31838
Depends on D31921
Depends on D31922
Does this mean that the symbol table will be thrown away every time the llvm revision changes? Can we avoid that by having a symbol table version number?