buildrequest collapse

 - TODO:
   - update master/docs/manual/customization.rst

First iteration of the project.
I plan to update customization.rst.
Actually my comments maybe confusing, as I did write the comments one by one until I got a clearer picture. 

My final though is that this buildrequest collapsing should only care about buildrequests, and not about buildsets.

The data.updates.completeBuildRequests() should have responsibility of completing the parent buildset, and not its caller. so that line 110-112 should be unnecessary.