[ELF] Implement demangle.

This adds functionality in the GNU flavor to demangle symbols when
undefined symbols are displayed to the user.
[ELF] Add demangle test to XFAIL

This test is failing for some reason on freebsd.

Not sure why it should fail, need to investigate.
Fix a somewhat subtle pair of issues with JumpThreading I introduced in
r220178. First, the creation routine doesn't insert prior to the
terminator of the basic block provided, but really at the end of the
basic block. Instead, get the terminator and insert before that. The
next issue was that we need to ensure multiple PHI node entries for
a single predecessor re-use the same cast instruction rather than
creating new ones.

All of the logic here was without tests previously. I've reduced and
added a test case from the test suite that crashed without both of these
fixes.