Add -E support in executables, for use by launchers in forwarding the
environment to the user program processes when the underlying system
launcher can't do so.  The changes are:

runtime/src/arg.c
  Add -E option parsing and environment variable setting.

doc/release/README.executing
  Document the new option.

test/execflags/ferguson/help2.good
test/execflags/shannon/configs/help/basehelp.txt
test/execflags/shannon/help.good
  Update the expected "-h" output.

test/execflags/gbt/dash-E-1-opt.chpl
test/execflags/gbt/dash-E-1-opt.execopts
test/execflags/gbt/dash-E-1-opt.good
test/execflags/gbt/dash-E-1-opt.skipif
test/execflags/gbt/dash-E-2-opts.chpl
test/execflags/gbt/dash-E-2-opts.execopts
test/execflags/gbt/dash-E-2-opts.good
test/execflags/gbt/dash-E-2-opts.skipif
  New unit tests.
Merge branch 'master' of github.com:chapel-lang/chapel into dash-E
Initial support for specifying stdin file in execopts
Using execopts stdin file for knucleotide
Using execopts stdin file for reverse-complement
Ready for unit testing.
Merge branch 'master' of github.com:chapel-lang/chapel into dash-E
Snapshot:
- update parseArgs() to know whether it's the launcher or user
  executable and whether it's parsing -E options or others
- call parseArgs() early to do -E options in main, later for the rest
- call parseArgs() in the launcher
- Merge the two dash-E tests into one, with two .execopts entries.
Merge branch 'master' into stdin-in-execopts
Produce an error if a .stdin file exists and one is specified in execopts
Add chpl_free_c_string() and use it to clean up leaked c_strings in
string and IO code.
Merge branch 'master' of github.com:chapel-lang/chapel into c_string-leaks
Resolves all but 3 of compile-time failures.
Removed assertion that the PRIM_INIT clause in preFold is never reached.
Fix a few bugs with PRIM_TYPE_INIT.

resolveCall() must apply default generic type resolution to the PRIM_TYPE_INIT primitive.

CallExpr::prettyPrint() had to be updated to recognize PRIM_TYPE_INIT as an "unusual"
case.
Merge branch 'master' into addPrimTypeInit

Conflicts:
	compiler/passes/scopeResolve.cpp
Strengthened CallExpr::verify() and used this in PRIM_TYPE_INIT case in removeRandomPrimitive().

In CallExpr::verify(), added a clause to ensure that every CallExpr has a valid
parentExpr.  Also added a test specific to PRIM_TYPE_INIT, that that parentExpr is a
CallExpr.  Both of these added clauses pass a full --verify test run.

Added comments in the clause for PRIM_TYPE_INIT in removeRandomPrimitive(), saying that we
don't have to test either of these invariants (call->parentExpr != NULL &&
toCallExpr(call->parentExpr) != NULL), because CallExpr::verify() does it for us.

There is a general caveat on this assumption, since verify only operates between passes.
If the current pass violates the invariant, one or both assumptions may fail.  A good
debug technique for this would be to run verify() on the suspect AST node.
Change the conditional on 's' in chpl_rt_free_c_string() into an
assertion.  This function should only be called from the modules via
chpl_free_c_string() which already employs a null check.
Merge branch 'master' of github.com:chapel-lang/chapel into c_string-leaks
A small rewrite of channel.readstring() to avoid creating intermediate
Chapel strings and also to free intermediate c_strings.

This along with the previous changes reduces the total allocated
memory of regexdna.chpl by about 6% and increases the amount of freed
memory by 96% (which is still less than 10% of the total allocated
memory).