gmp_import() and gmp_export()

These functions are thin wrappers around `mpz_import()` and `mpz_export()` provided by the GMP library.

They provide fast conversion between large GMP numbers and binary strings, with configurable word order, word size, and endianness.

The zero length data is disallowed in import. A size of 1 > data_len of 0. Exporting a GMP num with a value of 0 correctly exports as "\0"

I stole the error message from unpack() ;)