Doing Unittesting right.

Starting on unittesting in C today. I found a cute little library called CuTest which looks decent. Less trouble to set up... maybe. Its loose liscencing lets me package it with my code, so that'll keep the dependancies down. I might even go in and add a nice printf-style Assert message function.

I'm a bit worried about the build system. Everytime I have to touch makefiles, it takes 2 hours and raises my blood pressure. Adding a sub-project which depends on the larger one is going to be a massive pain.

I moved the Python testing suite to /tests/python for consistency. Even though it's one file, it does make things look a bit more organized.
Linking is hard.

After a few hours of struggling with linking, it turns out my Windows build of Clang was half of the problem.

Not quite as painful as I had imagined, but I got a make-system setup which allows seamlessly building the c-unittest.

Now that all of that is settled, it should be trivial to set up the rest of the c-unittest.
I don't know.
C Unit Testing!

There are now unit tests on raw C-code to help catch bugs that might arise
from the other language wrappers. So far, none have presented themselves.

There was also some pretty heavy moving around of stuff.

The only thing missing is the products of the primes used in the Miller
Rabin tests: Doing those in code, like I did with Python, would take a bit
more work. More work than I'm willing to do right now.

I also fixed that gmp-3 crap, and everything should statically link
without issue.