Branch for developing Bitten client/server testing
initial checkin.  Too much work in one step!
set up for local testing on my machine
restore mistakenly killed line
Recipe generation fixes.
Put an assertion in process_jam_log that should help us track down problems.
Log system commands in regression.py.
Attempt to fix illegal path problems
More diagnostics
Merge in changes from trunk
process_jam_log: flush warning message before asserting

recipe.py: 
  account for algorithm/minmax and algorithm/string
  always check out HEAD (for testing purposes)
  always remove bjam.log before running bjam
  add --reflect-test-status so bitten will show all failures

regression.py:
  add --reflect-test-status so bitten will show all failures
  use try...finally for changes to working directory
  log current directory where commands are executed
Handle error return codes from os.system "properly."  We still don't
have a policy about dealing with signals, but at least no errors will
be silently ignored.
Make sure there's some feedback in Bitten when run.py dies
Account for nonstandard library testing directory structure.
Merge Beman's changes from trunk
use onerror="continue" so that testing step failures actually cause
the build to fail.
Change the root for run.py to the current directory so bitten can invoke
it out of the svn snapshot.
Add clean_log option so we don't need to do a nonportable-to-windows
'rm' command in the recipe.

Make sure results directory exists whenever we start testing.

Check out the head revision of my build tools branch, instead of the
revision we're testing, so we can modify the test procedure even when
nobody makes new checkins on trunk.

Stop copying the run.py script and deleting bjam.log through the
shell, for portability to Windows.
Support for Boost.Build XML output.
Removed PJL from receipe.
Generate bitten reports from BB XML output.