Redo logic so lsda is a _gxx_personality_v0 concept.

Per IRC discussion with thakis, danakj, and piman, we think gcc and
clang only use the prX functions for unwinding trivial stack frames.
In fact, neither seem to generate EHABI descriptors to handle catch
clauses or function throws. Instead, we think on any complex cleanup,
gcc and clang just dispatch into a psuedo-DWARF unwind style using
the generic exception handler table entry. In this entry, the the
first word encodes in its most significant byte, the number of
"extra words" beyond the first to consider as unwinding instructions.
These set of words are then interpreted as unwind opcodes as specified
by the EHABI. After the unwind opcodes, the LSDA begins and we proceed
according to the Itanium DWARF style unwind.

With this CL, vector.capacity:shink_to_fit.pass.cpp correctly
catches its exception and passes with gcc. Clang-3.4 is still
unexpectedly generting a "can't unwind" 0x00000001 entry in the EIT
which terminates the exception handling in a failure.

Change-Id: Ifd17b6e30c33651dcfa27c2075aae0e600b88d72