Refactor C-- wrappers to use macros for mpz_t access

This factors out the recurring task of converting mpz_t structures
to/from Int#/ByteArrays# pairs and makes the code more readable.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>