Initial version with threads. Broken because (probably among other
things) it doesn't wait for all the threads to complete.
Added the join(), and this makes all the tests pass. This is a bit
surprising, because I was expecting to have to have some sort of
synchronization amongst the threads. I also added a test that does the
counts on a string of a million 'x's, which should ensure some sort
of contention, and that passes as well.
Added a main() method for timing and removed the timing code from the
tests.
Inserted a crucial missing assertion in the many 'x's test that now
fails as I expected. This now suggests that there's a contention
problem among my threads.
Added a missing call to compute and print the total count to the
testing loop.
Merge branch 'java-threaded' into HEAD