When sub_test fails to parse an integer, write error message and exit cleanly.

This prevents start_test from also reporting that sub_test did not exit
cleanly. For example, previously on systems that don't clone symlinks
correctly, we would see the following two errors (both for the same issue):

```
[Error (sub_test): Invalid integer value in m-lsms.par-forall.numlocales (studies/lsms/shemmy)]
[Error running sub_test in /var/tmp/jenkins/chapel-ci/workspace/correctness-test-linux32-legacy-git/test/studies/lsms/shemmy (255)]
```

Now, only the first error will be reported. We _may_ want to consider making
clean_exit=True the default behavior for the Fatal() function in sub_test.
Update sub_test to exit with 173 when Fatal() is called.

Update start_test to recognize 173 as a special code that means sub_test has
already printed an error message.

173 is the sum of the ascii characters in "CHAPEL", modulo 256 (to be inside
the valid range of exit codes).
Merge branch 'master' of https://github.com/chapel-lang/chapel into sub-test-improvements
Remove clean_exit arg.
Update single file code path in start_test to recognize 173 exit code.
Merge pull request #948 from ronawho/multi-locale-test-improvements

Add aprun to list of launchers that automatically throw --launchertimeout

[trivial, not reviewed]
Merge pull request #949 from ronawho/multi-locale-test-improvements

Revert "Add aprun to list of launchers that automatically throw --launchertimeou

This reverts commit f29bd805eeefda78987cdd4c3a1753bc8af3d502.t
Don't use expect script for slurm-srun launcher

An expect script was used to launch interactive jobs for slurm. This was
because the slurm-gasnetrun_ibv launcher it was originally copied from also
used an expect script. I think the only reason that launcher used it is because
some others that it was pieced together from also used it. So far as I know the
only good reason to launch with an expect script is if the launcher will have
some real interaction with the user. e.g. ask them if they're sure they want to
continue even if they're not on the correct file system or something.

Using the expect script added a carriage return to all output lines which
screwed up testing diffs. This just removes the use of expect and replaces it
with a direct call to srun for interactive jobs. This makes no changes for
batch jobs.

With this change things like "start_test test/release/examples/hello.chpl" will
just work on slurm systems without needing to throw any extra arguments or
having to use the launchcmd
Merge pull request #924 from thomasvandoren/sub-test-improvements

When sub_test fails to parse an integer, write error message and exit cleanly.

This prevents start_test from also reporting that sub_test did not exit
cleanly. For example, previously on systems that don't clone symlinks
correctly, we would see the following two errors (both for the same issue):

```
[Error (sub_test): Invalid integer value in m-lsms.par-forall.numlocales (studies/lsms/shemmy)]
[Error running sub_test in /var/tmp/jenkins/chapel-ci/workspace/correctness-test-linux32-legacy-git/test/studies/lsms/shemmy (255)]
```

Now, only the first error will be reported. sub_test will have this
behavior for any Fatal() calls.

r: @ronawho
Add name and date next to TODO
Merge pull request #950 from ronawho/slurm-dont-use-expect

Don't use expect script for slurm-srun launcher

[reviewed by @thomasvandoren]

An expect script was used to launch interactive jobs for slurm. This was
because the slurm-gasnetrun_ibv launcher it was originally copied from also
used an expect script. I think the only reason that launcher used it is because
some others that it was pieced together from also used it. So far as I know the
only good reason to launch with an expect script is if the launcher will have
some real interaction with the user. e.g. ask them if they're sure they want to
continue even if they're not on the correct file system or something.

Using the expect script added a carriage return to all output lines which
screwed up testing diffs. This just removes the use of expect and replaces it
with a direct call to srun for interactive jobs. This makes no changes for
batch jobs.

With this change things like "start_test test/release/examples/hello.chpl" will
just work on slurm systems without needing to throw any extra arguments or
having to use the launchcmd
Iterators: Revise the test for determining if a SymExpr is in a loop header to handle new representation
Merge pull request #954 from noakesmichael/baselineFix

The code for lowering iterators included a subtle check to determine whether
a symExpr is contained in the header of a loop.  Unlike similar tests it relied
on the overall shape of the code above the SymExpr rather than the more
common reliance on the call-type of the blockInfo.

For the short term I have updated the test to (a) match the new
shape (b) be slightly more robust (c) added a tagged comment
so that I can come back and improve this test when the Loop
work is more sound.

Compiled: STD clang/darwin, STD gcc/linux64, LLVM gcc/linux64
Tested: paratest --baseline and standard paratest
Review: None
Turn of warning when stdin redirection isn't supported

start_test auto detects when stdin redirection isn't supported and warned the
user that it was going to skip tests with stdin. The warning proved move
annoying than useful especially since it made things like 'make check' fail.
This removes the warning and just turns it into an 'Info' message. The user
won't see it reported at the end of test summary but that seems fine.