Forall intents - the initial implementation.
Merged chapel-lang/master
Fixed test/types/string/StringImpl/memLeaks/promotion.chpl
Merged chapel-lang/master
Merged chapel-lang/master
Reverted an inintended change in 82bda416.
Merged chapel-lang/master
Merged chapel-lang/master - one more follow-up
Fixed a comment.
Added a missing ref-clause.
Remove byref_vars from the tree earlier during resolution
Ensure that the forall loop body block is BLOCK_NORMAL.
Adjusted comm counts in studies/ssca2/performance/SSCA2_commDiags.good
Added a 'ref' clause in SSCA2 Kernel 2. This restored comm counts, too.
Followed up on reviewers' comments.
Removed the globals extendedLeaderCallNew and extendedLeaderCallOrig.
Replaced a debugging printout with an assert.
Merged chapel-lang/master
Fix for verify failure in recordWithRefCopyFns

Auto-copy calls were being inserted in the parallel() pass.  These calls were not being
passed through insertReferenceTemps, which inserts reference temps as necessary to make
the reference level of the formal and actual arguments match up.  Since this step was
skipped, verify() flagged it reference level mismatch as an error.

For a quick fix, I added a call to insertReferenceTemps() after the offending call is
inserted into the tree.  A more general solution would involve moving that mini-pass later
in translation or calling it redundantly after any pass that inserts additional calls to
functions that might contain formals having ref intent.

Removed the recordWithRefCopyFns.future and recordWithRefCopyFns.skipif.

TODO: Make a general sweep of the passes that occur after callDestructors and ensure that

###DETAILS
####compiler/include/passes.h
####compiler/resolution/callDestructors.cpp
Factored out a per-call version of insertReferenceTemps(CallExpr*) and inserted this into
the global namespace.

####compiler/passes/parallel.cpp
Call insertReferenceTemps(autoCopyCall) after the autoCopyCall is inserted.
Added a ref-clause to a test.