Clean up Assembly method swizzling in dealloc.

This improves unit test isolation. Cache definition selectors on the assembly when prepared for use. Use new CircularDependencyTerminator class
to terminate circular dependencies instead of NSString. Update copyright notices. Remove (now correctly failing) tests for unsupported collaboration style.
Merge branch 'master' of https://github.com/typhoon-framework/Typhoon