Clean up MCCSwizzle a bit and add the property swizzling code from smorr!

Also added some tests for the swizzling and some documentation for all.