Add /all/ protocols from the swizzling class onto its clone.

Plus a test. Oops.
Add declaration + compiler hints for _class_addProtocolFromClass.
Swizzling no longer strictly requires a matching protocol

The swizzled object also reports its true nature with isKindOfClass:
Fix bug where local var was being modified during parsing, making it unsuitable for free()
Generic property attribute parser.

It looks like a lot of work—and it is—but it has wider applications
that will come into play soon: its return value is useful as a
parameter to class_addProperty!
Comment update
Add properties to swizzled objects.

And make test for legal properties more explicit. Bcoz why not.
Add a helpful hint about initializers in swizzling classes.
Cleanup