Extract ULEB128 decoding functions from CDLCDyldInfo.m
Parse the compressed table of function start addresses load command (LC_FUNCTION_STARTS)
Move the dyldinfo(1) comment to the right file
Fix broken ULEB128 link
Parse extended method types for protocols
Fix parsing of the type-encodings for blocks and function pointers.

The type-encoding "@?" means "block", and "^?" means "function pointer".
Unfortunately there is no way to determine the original parameter types
or return type of the function or block, so I arbitrarily pick
(void(*)()) and (void(^)()) as the type displayed by class-dump.
Fix an assert-fail if a block or function pointer appears inside a struct.

My revision 3a1c177e wasn't quite complete enough; we also need to include
cases for the two new types in [CDType typeString], or we'll get assertion
failures on code like

    struct FaceCoreAPI {
        void (^field1)();
    };
    @interface A -(struct FaceCoreAPI*)api; @end

This is now fixed.
Use typedef for unknown function pointers and blocks
Handle extended block signatures
Fix extended method types parsing on 32-bit binaries
Easier to read entsize computation
Mask out the two lower bits from the method list header entsize
Group function pointers and blocks under the same "pragma mark"
Add unit tests for block signature
Fix block signatures with two or more arguments
Add unit test for block signature with BOOL arguments
Special case block signature with BOOL arguments
Fix unit tests warnings
Add arm64 unit tests
Handle arm64 in both CDNameForCPUType() and CDArchFromName()