Use runtime function to see if receiver is a class or instance

Some time in the ten years since I originally wrote these functions, the Objective-C runtime exposed a function that tests to see if a class is a metaclass or not. This seems like a much better check than the one I was using.