Add nine-flavored Builds support

This completely revises the builds table (with one row per build now),
and adds a Data API.

This required minor changes to the way the process code interacts with
builds:
 * only insert a build row for the last buildrequest in a merged set
 * use fake slaveid and builderid values
 * use getBuilds(buildrequestid=..) instead of getBuildsForBuildRequest
 * alter the name of the 'brid' argument to addBuild
 * change calls to finishBuilds to use finishBuild instead

Note that the builds recorded in the database will have a different
number than those recorded in the status pickles.