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.
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