Revert "Redefine semantics of lsda for pr0,1,2 functions. Not sure this is right but it seems more consistent"

This reverts commit c2692319e4a049fd97e9d109f0312c7827d4215f.
Attempt to implement basic descriptor parsing and type mathcing

Change-Id: I3a26e5947a2778d9598cf58abe45d83e00b7af5c
Redo logic so lsda is a _gxx_personality_v0 concept.

With this CL, exception catching has been restored to it's former
piman-based glory! 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.

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.

Change-Id: Ifd17b6e30c33651dcfa27c2075aae0e600b88d72
Make clang generate the unwind tables correctly for exception support.

Without this, clang doesn't generate a personality routine entry for
exception hanler table entries that require something beyond what is
doable with basic unwind codes.  Instead it inserts an 0x00000001 for
the eit data causing exception propagation to fail.

Change-Id: I24b511dd222a9898b5a319dd36e93405742ca8ef
Make lsda a direct function parameter, add TODOs, speling fxies.

Change-Id: Ifd793b2a359e556813f5fcffdb093d54efff6cab
Merge pull request #34 from awong-dev/ehabi_descriptors

Hack up partial ehabi descriptor parsing and refix lsda. descriptors are incomplete and almost certainly hooked up wrong.