Merge my main trunk work. Lots of testing and documentation work....
Merge my main trunk work. Lots of testing and documentation work.
See the individual log messages for details, this is a branch that added a
lot of tests, as well as improving the testing system quite a bit so it is
more robust and identifies many more tests.
Various API cleanups, bug fixes and improvements went in as well.