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.
I'm curious why this was required - nothing should be modifying data dictionaries!