Builds on language environment patch from Alice for ticket 2419
As per irc discussion with tomprince, wrapped 'getElementsByTagName' in
try and added code for storing in Step log file. Addresses log.err issue
in pull request comment
Partial Test changes for 2419fix
Modified as per recent comments in pull request and discussion on IRC.
Added test changes for failure conditions for parseGotRevision
Fixes the function definition with the proper check in test revision for
integer value case
Fixes incorrect symbol used in test function, and indentation
Fixes test_corrupt_xml and updated broken test_revision_non_integer
Fixes test_revision_noninteger function
BuildChooser: refactor (slave,breq) logic into strategy object

 * moved the following logic from Builder to BuildChooser
   - slave choice
   - build choice
   - build merging
 * move the following logic from Builder to BuildRequestDistributor
   - managing the brid reclamation

The slave-choice logic now checks if slaves can grab build locks. Slaves that
can are preferred to slaves that cant.

Also adding a customization point that lets slaves to be chosen based on
particular builds; for example, a patch is coming that will add a ForceScheduler
parameter to force a build onto a particular buildslave.
BuildChooser: Fix up comments
BuildChooser: minor enhancements
BuildChooser: address review comments; pyflakes too
Fix pyflakes issue
BuildChooser: address review issues; beef up comments
Create process/buildrequestdistributor.py; move BRD from botmaster.py
BuildChooser: Fix up test comments a bit; fix one unit test broken by 'rejectedSlaves' rename in earlier patch
added pollinterval attribute for backward compatibility
Merge branch 'BuildChooser' of git://github.com/jaredgrubb/buildbot
update relnotes for pull 615
Fixes test_getUnversionedFiles_corrupted_xml test