Ditch GMP

- Introduce a uint64_t|int64_t union-like class that does the mixed
  arithmetic and figures out how to represent the result, if possible
  at all.  So we don't end up having to distinguish this with domains
  like previously.  We do end up having to hand-code the arithmetic,
  and the algorithms are as messy as before.

- This only supports + and -, the rest is hopefully forthcoming.  Thus
  the test cases that use mul will fail--the rest passes as it should.
Add multiplication
Add division and modulo, sanitize interface, add a test suite
Plug in / and % into div and mod words, catch exceptions
Convert elem for T_STR and T_SEQ to new-style overloads