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.
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.
Merge remote-tracking branch 'origin/master' into vectorArray
Change a config variable from param to const in test

Change a config param to config const so it can be set at runtime.
Adding some tests of the mkdir functionality for my own sanity.
Avoiding symbol collision.
Add some new tests
Updating some of the other tests, as they weren't quite accurate
Initial implementation, passes the tests currently committed.
Merge remote-tracking branch 'origin/master' into vectorArray
Add test to ensure mkdir with permissions works as expected.

Relies on process umask being set to 0022.  If this is not the case, this test
will break.
Merge branch 'master' into mkdir
Fix the lack of newlines
Altering the order these tests run in, so we aren't left with a directory that
can't be opened the next round of testing.
Add array methods remove, reverse, clear and find for 1D rectangular arrays

Signatures of added methods:
proc remove(position: this._value.idxType) where chpl__isVectorSafe();
proc reverse(): where chpl__isVectorSafe();
proc clear() where chpl__isVectorSafe();
proc find(val: this._value.eltType): (bool, this._value.idxType);

Also added tests of these methods.
Add array methods to remove a range of elements and a position and count

Signatures of added methods:
proc remove(position: this._value.idxType, count: this._value.idxType) where chpl__isDense1DArray();
proc remove(positions: range(this._value.idxType, stridable=false)) where chpl__isDense1DArray();

Changed the chpl__isVectorSafe() helper method to chpl__isDense1DArray().

Added a new case to the arrayRemove test.
Rename a few methods and a formal argument name

Methods:
empty -> isEmpty
front -> head
back -> tail

Formal Argument:
position -> pos
Add support for octal literals in the compiler.

Additionally, adds three tests: one for the most common case, one that include
the capital O version (0O instead of 0o), and one that checks a bad octal is
rejected.
Add array count method and fix clear to reuse the domain low bound

// returns the number of times 'val' occurs in the array
proc count(val: this._value.eltType): int;

Added a new test that uses count.

clear() now sets the domain to {low..low-1} instead of {1..0}.
Add comments describing the new array vector style methods

Add comments ahead of each of the new array vector style methods. Also, added
_array.idxType to match _array.eltType and switched from this._value.idxType
to this.idxType and from this._value.eltType to this.eltType.