Swap `curry` and `uncurry` to be consistent with Haskell and friends.

Merged Robbert Krebbers requested to merge robbert/curry into master

This also applies to (un)curry{3,4}, gmap_(un)curry, and h(un)curry.

This fixes issue #76 (closed).

The code includes a horrible hack that should removed once support for Coq versions prior to 8.13 is dropped, see https://github.com/coq/coq/pull/12716.

Merge request reports