Start on a script that can build multiple configurations in one go.
Only update BUILD_VERSION when revision changes.

This was "broken" in 2b5040c because the BUILD_VERSION included a quoted version of the string and when we compared in the script, it was not using script. The effect was version.cpp rebuilt all the time, which is less than ideal.
Merge branch 'master' of github.com:chapel-lang/chapel into build-multiple-configs
Merge remote-tracking branch 'origin/fix-version-compare' into build-multiple-configs
Stream output of build in verbose mode.
Update build_configs to support building comm and tasks configs.

Can build comm (none or gasnet) and tasks (fifo or qthreads). Can specify multiple comm and/or tasks, and it does the cross product.
Add gmp dimension. This process needs to be consolidated into one section...
refine output
Start on dimension class(es) to make adding additional vars to build list easier.
Add repr to Dimension class
Sort dims by key name.
Use dimensions to generate arg parser.
Parse options based on dimensions and create configs based on those.
Update Config class to use dimensions.

At this point, adding additional config dimensions should only require updating
the Dimensions class in the file by adding an additional class attribute. Yay!
Add CHPL_REGEXP dimension. It is so easy :-)
Use list instead of class with iterator for Dimensions.
Add list of TODOs for build config script.
str-ify command in order to support python 2.6.
Report errors when non-zero exit code from calling make when building multiple configs.
Add --show-configs flag that will print out config dims and values.