NSInvocation+Copy cleanup

I did a minor contribution to have less code and support all objc types while copying NSInvocation (for example custom structs, etc), also it should works a bit faster (because fewer objects created).