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.
More RBC cleanup.

Remove extra .good and .prediff, and update comment.
Update default RBC test size so correctness testing runs faster.

Perf testing will still use the original problem size from the paper.
Merge branch 'stdin-in-execopts' into fasta-stdin-perf
Add a simple array vector operations benchmark

This shows the performance of array vector operations.  There is plenty of
room for improvement because every operation reallocates currently.  It
should work as a perf test.
Add peephole optimization to remove ref temps
Add a check for FLAG_WIDE_CLASS in PRIM_ASSIGN codegen
Adjust location of canRemoveRefTemps call

canRemoveRefTemps was being called on functions after their nested
functions were inlined. This would cause ref temps to be removed when
they shouldn't have been.

Also fixed a small check in codegen related to FLAG_WIDE and
FLAG_WIDE_CLASS.
Update ref temp removal code to deal with original vars that are refs
Copy a case in codegen from PRIM_MOVE to PRIM_ASSIGN (for no-local)
Change test_nested_var_iterator3 into a bug future

From test_nested_var_iterator3.future:

Bug: Copy propagation can not follow references through record fields

This test started to fail after 4160bf4 (Add peephole optimization to remove
ref temps). The actual failure is due to copy propagation not being able to
follow references through record fields. If this test is run with scalar
replacement, it works correctly since the record fields will be extracted.
Removed canReplaceRefTemps from FnSymbols

Based off Elliot's feed back I removed canReplaceRefTemps from FnSymbols
and instead pass a vector through inlineFunctions that indicates if ref
temps can be removed for that function. Made a small clean up to
callDestructors as well.
In removeParamArgs(), kip calls that are not in the tree.
types/records/bharshbarger/nestedRecordInClass1.future is retired due to #196.
Changed par_iter_recursive.bad to track resolution change due to #196.

The new error message actually mentions recursive iteration, so can be judged an
improvement on the previous version.
Test classes/bradc/innerGeneric/innerRecord is cured by #196.
Merge branch 'master' of github.com:chapel-lang/chapel into rbc-fixes
Provide uniform isXxx functions in the standard modules.
Remove valgrind skipif for RBC test.

Now that the correctness test grid size is smaller, valgrind testing does not timeout.
Bumping version number to 1.10.0 in anticipation of next release.

This mostly copies the changes from 220b0f6.