PR for trac #2621 and trac #2658

 - use builderid as a foreign key instead of using buildername for the table buildrequests
 - addbuilset take a list of buildersID
 - check signatures for the BaseScheduler?'s addBuildsetForXxx methods
 - remove buildername as a data field for buildrequests.
Medium-sized Buildbot installs have have 10,000's of build requests, so it would be useful to make this as efficient as reasonably possible.  The list of builder names, on the other hand, is probably a few hundred at most -- reasonable to hold in RAM.  So maybe select all unique buildernames, then use `findbuilderid` to generate a dictionary from name to builderid, and use that to update the table?

If you wanted to get fancy, you could generate a series of UPDATE queries based on that dictionary (it'd need to be more than one query to avoid limits on the number of placeholders in a query).