I think the syntax of the master.cfg file might look cleaner if we were defining well-known names rather than putting everything into a dictionary. In other words, rather than:
BuildmasterConfig = c = {}
c['sources'] = [stuff]
c['builders'] = [stuff]
we should have:
Sources = [stuff]
Builders = [stuff]
This makes it easier to have collisions between temporary names (that you're using as intermediate values) and names that the Buildmaster pays attention to, but we can establish a convention that all of the Buildmaster's names will be capitalized, which will avoid much of the problem.
This would also make a simple master.cfg look less like python, which might help Buildbot feel less python-specific, which I think would be a good thing. Complex master.cfgs can continue to use all the power of a full programming language, of course.