Add support for arbitrary types to NSInvocation (RACTypeParsing)

A note on the memory management: `NSValue` copies the buffer passed to `+valueWithBytes:objCType:` and `NSInvocation` does the same when `-retainArguments` is called if the argument type is of variable size (pointers to char or fixed length arrays). All temporary buffers are freed immediately.

I also added back char pointer support, I think the reason it wasn't working before was that `-retainArguments` wasn't being called. As you can see in the `RACTestObject` implementation retaining it in the invocation won't keep the pointer safe indefinitely, and there's little control over the lifetime of the pointer from a user's point of view, but a function that accepts a pointer shouldn't really expect the pointer to be valid past it's return anyway.