Prevent premature release of invocation arguments.

`-[NSInvocation getArgument:atIndex:]` is only safe
when used with object ownership of `__unsafe_unretained`.
For details see: http://stackoverflow.com/q/8672675/679254

- Add functional tests which demonstrate premature deallocation
- Convert object ownership to `__unsafe_unretained`
Remove ARC, NonARC subspecs.

Entire project now uses ARC.