Refactored prepare_reactions some more.
More refactoring
Made testsuite error message more useful

When certain tests in the testsuite fail, it is because a value is out
of tolerance. It can be useful to know how much it's out of tolerance,
but you have to check the python file to see what the value and
tolerance actually is. This commit puts that information in the error
message itself.
Fixed radial directions/subdivisions bug

If radial directions or subdivisions was set to zero, it would result in
a divide by zero error. The error checking for radial directions did not
include a check to see if it was a positive value. Such a check existed
for radial subdivisions, but the radial directions check was being
called instead. Both of these problems have been fixed.

Some refactoring was also done.