Support for adding to an associative array's domain via the array itself
A small test to demonstrate adding to an associative domain via the array
A more deterministic test to ensure that the backing domain contains the indices we implicitly added
Removing comments that will end up in associative primer
Fixing a race condition between dsiAccess and dsiAdd
A small test to stress parallel implicit key adds
Merge branch 'master' of github.com:chapel-lang/chapel into assocImplicitAdd
Fixing deadlock when attempting to remove an index from the domain
Moving clearEntry back to dsiRemove
Improving parSafeAdd
Updating test scripts to make release-over-release work again

[this is Brad, gathering release-over-release perforamnce as chapelu]

Recent changes to start_test and sub_test broke release-over-release
performance because they based paths off of $CHPL_HOME rather than
$CHPL_TEST_UTIL_DIR (which release-over-release requires because
CHPL_HOME is set to the release being tested, but the test directory
and util directories are used from the current release.

Some other changes were also required because we used to run the
util/chplenv scripts from the release itself in the testing system,
but now that the scripts have changed names, we can't do that for the
releases.  To that end, I made $CHPL_TEST_UTIL_DIR point to util/
where previously it pointed to util/test.  That way we can either
get to util/test or to util/chplenv.

Finally, this commit includes a few changes that have been sitting
around in testReleasesPerformance for awhile -- the main one being
that we no longer run against the current repository since we're now
doing that on a nightly basis and splicing those results in.
Merge branch 'master' of github.com:chapel-lang/chapel into release-over-release-fix-by-bradcray
Fix utildir in start_test
Update util dir set in checkChplInstall.
Merge pull request #181 from thomasvandoren/release-over-release-fix-by-bradcray

Release over release fix by bradcray

Recent changes to start_test and sub_test broke release-over-release
performance because they based paths off of $CHPL_HOME rather than
$CHPL_TEST_UTIL_DIR (which release-over-release requires because
CHPL_HOME is set to the release being tested, but the test directory
and util directories are used from the current release.

Some other changes were also required because we used to run the
util/chplenv scripts from the release itself in the testing system,
but now that the scripts have changed names, we can't do that for the
releases.  To that end, I made $CHPL_TEST_UTIL_DIR point to util/
where previously it pointed to util/test.  That way we can either
get to util/test or to util/chplenv.

Finally, this commit includes a few changes that have been sitting
around in testReleasesPerformance for awhile -- the main one being
that we no longer run against the current repository since we're now
doing that on a nightly basis and splicing those results in.

reviewed, tested, and merged by @thomasvandoren
Adjusted .good files for line number changes from added copyright headers.
Merge pull request #182 from vasslitvinov/adjust-line-numbers-in-.good

Adjusted .good files for line number changes from added copyright headers.
Merge pull request #128 from benharsh/assocImplicitAdd

This code allows for one to implicitly add to an associative array's domain via that array. This makes associative arrays a little more pleasant to work with.

Before:

myDom += newKey;
myArr[newKey] = foo;

After:

myArr[newKey] = foo; // newKey added to backing domain if not present.

An important restriction is that the array and domain must share a 1:1 relationship. More simply, the domain must be backing only one array. The motivation for this restriction is that it may be surprising that other arrays' index sets are modified when it appears that we are only modifying one array. If this restriction is violated, the program will halt.

An 'out of bounds' halt will still occur if attempting to read from a bad index:

Before and after:

writeln(myArr[badKey]); // if 'badKey' is not in myArr's index set, the usual error will be encountered.

A number of additional changes have been made to prevent race conditions and deadlocks how that we can modify the index set in parallel.
Fix path to performance timers

utildir changed from pointing to $CHPL_HOME/util/test to $CHPL_HOME/util.
Performance testing was looking for timers in $CHPL_HOME/util/timers instead of
$CHPL_HOME/util/test/timers. This just updates the timer search path.
Merge pull request #184 from ronawho/fixPerformanceTimersPath

Fix path to performance timers

utildir changed from pointing to $CHPL_HOME/util/test to $CHPL_HOME/util.
Performance testing was looking for timers in $CHPL_HOME/util/timers instead of
$CHPL_HOME/util/test/timers. This just updates the timer search path.