Better tests.

Tests are now easier to run.  Added a short explanation to each complex test.
Found out that reduce with operations like multiply and min don't work because a
0 is hiding itself somewhere in the generated C code, and because I
misunderstood the reduce part of the Bohrium API.  Not fixed yet.