Use cleanup data for argument marshalling failures

Use state->args_cleanup_data when cleaning up failed argument marshalling.
This was overlooked when cleanup data tracking was implemented (commit 7407367f).

https://bugzilla.gnome.org/show_bug.cgi?id=695128
Remove decrementing argument index for failed marshalling cleanup

Remove index decrement when cleanup function is called for failed argument
marshalling. The decrement is incorrect and causes the failed argument
cleanup to be skipped. The decrement also causes cleanup for arguments
prior to the failed argument to receive "was_successful" as FALSE, which
is also incorrect.

https://bugzilla.gnome.org/show_bug.cgi?id=695128
Add GClosure marshalling cleanup

Add marshalling cleanup for Python callables and boxed GClosures
passed as arguments. Make sure the marshaller owns a reference
until clean. Fix transfer everything case by adding a new reference.
Remove unused header declaration: pygi_arg_gclosure_from_py_marshal

https://bugzilla.gnome.org/show_bug.cgi?id=695128