Remove libextobjc usage.

libextobjc is used in some places within Mantle, but in all but one, doing things the low-level way is actually shorter. We also save some memory allocations/frees if we directly use `property_getAttributes`. Functionality-wise this is the same and all tests still run. (Please correct me if I missed anything during the conversion.)

Consider someone who hasn't seen both Mantle and libextobjc before, the amount of code they have to review is substantial and once they open `metamacros.h`, things start looking really scary. And we actually don't use most of that. I'm not alone here, I know several people who like Mantle but were turned off by the dependencies it needs. (https://twitter.com/nicklockwood/statuses/357074815267516416)

I do agree that code using libextobjc's runtime introspection is nicer to read (and also to write). However any developer who hasn't used libextobjc before will take more time to investigate the at first weird-looking @onExit calls than with the straightforward way of cleaning up. 

As an example `BOOL isWeakProperty = strstr(attributes, ",W") != NULL;` is more verbose but equally understandable as `attributes->weak`.