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
Add script to verify copyrights in source files.
Run checkCopyrights.bash in smokeTest.
Add script to prepend copyright with license info to source files.

The util/buildRelease/add_license_to_sources.py script accepts a list of files,
detects the type of comment for each one, and then prepends a comment including
the copyright with license info. The content is stored in a separate file to
make versioning/history easier.
Prepend comment to all sources with copyright and license information.

This uses the new `util/buildRelease/add_license_to_sources.py` script. I ran
this code in bash to tag all of these files:

```bash
find "compiler runtime make modules" \
    -name Make\* -o \
    -name \*.c -o \
    -name \*.chpl -o \
    -name \*.cpp -o \
    -name \*.g -o \
    -name \*.h -o \
    -name \*.lex -o \
    -name \*.y -o \
    -name \*.ypp | \
    grep -v compiler/parser/chapel.tab.h | \
    grep -v compiler/parser/chapel.tab.cpp | \
    xargs ./util/buildRelease/add_license_to_sources.py

find . -maxdepth 1 \
    -name Make\* | \
    xargs ./util/buildRelease/add_license_to_sources.py
```

Those find calls were derived from the existing `make/Makefile.release`, which
is called from `util/buildRelease/gen_release`. I did not include the `*.g`
files because none such files exist in the repository.
Remove make/Makefile.release and do not call it from gen_release.

This is no longer needed, since the sources have the comments when they are
checked into the repo.
Builds hello.chpl and blows chunks.
Now runs hello.chpl
This version fixes the problem with varagrs.chpl.
This version passes all primers tests.
Merge remote-tracking branch 'origin/master' into tag-source-files-with-license-comment
Fix bug in cache
Stop adding duplicate fences in waitFor

Fences I added here are also added by the compiler
when --cache-remote is enabled, but they don't do
anything if --cache-remote is not enabled, so they
don't need to be explicitly included here.
Relax task counting fences, add barrier fence

The task counting atomics don't need to imply fences
as these are handled elsewhere and we're really just
updating a counter.

For the barrier here, it's waiting on (not atomic)
local memory to change from a remote locale's put - which
is not legit according to the memory model... add
a fence (but I'd like to see a better barrier).
Merge branch 'master' into callDefaultConstructors
A whitespace cleanup in preparation for fixing some issues with module use data in ModuleSymbol and BlockStmt
Moved tracking the current PID to the modules

The privatized object count was previously tracked via in the runtime.
Now, it is an atomic integer in the modules that is passed into the
runtime when creating new privatized classes.
Updated some .goods that changed after moving the pid into the modules
Do not default initialize return temporary variables, where able.

This commit causes return variables to use noinit instead of default
initialization.  The rationale is that these variables will be assigned to
before they are returned, so default initializing them is a waste of time.
It is hoped that more compiler temporary variables can use this in the
future, but there are still some kinks to work out in the meanwhile.

Details of changes:
checkResolved.cpp:  The check for if a return variable has been assigned in
  all spots had two cases - first, if no assignment occurred; second, if
  only default initialization had occurred but the function had specified its
  return type.  In a world where return temps do not default initialize
  themselves except in special cases (see the commit on "pragma ignore
  noinit" for specific cases that must still default initialize themselves at
  this point in time), we would expect one or more assignments to occur in the
  ordinary case instead of at least two.  Externs being no longer special in
  this regard, it made sense to specify that this second case should only be
  triggered if the return type was one of the specified types that cannot use
  noinit.

normalize.cpp:  For the return temporary variables added here, unless the
  function is a param or type function, specify that the variables should not be
  default initialized unless necessary.  In the case of param or type variables,
  using noinit had caused confusion about whether the value returned really was
  what the return tag claimed, so we must continue to default initialize them
  for now.

functionResolution.cpp:  With normalize using noinit for return variables willy-
  nilly (as we don't know their type when return temps are inserted), it will
  not necessarily be the user's fault when noinit is applied to a type that
  can't use it.  This squashes that warning ("type <type> does not currently
  support noinit") in the case where the variable is a return temp and thus not
  the user's fault.