Add a prototype of vector like functions on 1D arrays

This commit adds the following methods to the _array record.  They currently
apply to 1D unstridable rectangular arrays only.  The methods that resize
the array assert at runtime that there is a 1:1 correspondence between the
array and its domain.

front() // return the first element of the array
back() // return the last element of the array
empty() // is the array empty?
push_back() // put a new value at the back of the array
pop_back() // remove a value from the back of the array
push_front() // put a new value at the front of the array
pop_front() // remove a value from the front of the array
insert() // insert a new value at a specified position and shift other elements

The methods that change the array size call reallocate every time instead of
doing something smarter like a doubling/halving scheme.

Added a test that does some pushes and pops on an array.
Added a test that tries to push_back an array declared over a domain has
multiple arrays.
Start a travis config file.
Fix before_script.
Install csh.
Just use gcc for now.
Install bc on travis
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!