Fix for Coverity Issue 1241468.

Coverity is complaining about a negative return from _ltoa_convert defined in
qio_formatted.c.

It is easy enough to rewrite this routine so that it returns a result that can never be
negative.  Hopefully, that will quiet Coverity on this issue.

Redefined the return value from the number of characters to skip *before* encountering the
start of the converted number to the *position* of the first valid character.  Before, the
return value could range from [-1..tmplen-2].  Now its range is [0..tmplen-1].

I changed the client code to accommodate this new definition of the return value
(basically subtracted 1 from it).

I changed the return type to size_t, which is an unsigned type so it can't go below zero.
Update length calculation in _ltoa.
Merge branch 'master' into fixCoverity1241468
Delete unreachable path in inner loop of DCE isEssential
Copy bulk of isEssential code from DCE to buildBasicBlocks.  Add printf's to DCE to confirm correct handling in BB.
Remove the verification printing from the inner loop of DCE
Merge pull request #910 from noakesmichael/bb-4

Transferred most of isEssential from deadCodeElimination() to BasicBlock construction

Compiled STD clang/darwin, STD gcc/linux64, LLVM gcc/linux64
Tested paratest, paratest --llvm --verify
Reviewed: None
Remove part of the change I made to these .perfkeys last Friday

It turns out that I didn't look as closely at my results when testing on Friday
as I should have.  Adding the additional .dat file declaration to the .perfkeys
overrode the previous declaration, so all the information from over the weekend
was written to the last one instead of half and half like I thought it would.
Oops.

There was some merging needed anyways, the old file had a column that has been
replaced by our performance run verification step.  So when I fixed the .dat
files so all the data would be present, I removed all previous references to
the verification field (they were all successes anyways) and merged the file
headers.  When the graphs get generated for tomorrow's run, everything should
be back to normal.

For those following along at home, the data from over the weekend seems to
indicate that we are not adjusting our problem size as it gets faster.  Still
a mystery as to what is causing the improvement over time, further analysis is
needed.
Merge pull request #911 from lydia-duncan/fixHPCCMistake

Remove part of the change I made to these .perfkeys last Friday

It turns out that I didn't look as closely at my results when testing on Friday
as I should have. Adding the additional .dat file declaration to the .perfkeys
overrode the previous declaration, so all the information from over the weekend
was written to the last one instead of half and half like I thought it would.
Oops.

There was some merging needed anyways, the old file had a column that has been
replaced by our performance run verification step. So when I fixed the .dat
files so all the data would be present, I removed all previous references to
the verification field (they were all successes anyways) and merged the file
headers. When the graphs get generated for tomorrow's run, everything should
be back to normal.

For those following along at home, the data from over the weekend seems to
indicate that we are not adjusting our problem size as it gets faster. Still
a mystery as to what is causing the improvement over time, further analysis is
needed.
Introduce WhileStmt::condExprGet/Set to wrap uses of BlockStmt::blockInfoGet/Set
Update AST_CHILDREN_CALL to separate WhileStmt from BlockStmt
Add #include "WhileStmt.h" where necessary
Rename isWhileLoop etc to be isWhileStmt
Make start_test more multi-locale friendly

For multi-locale testing on crays we always have to throw --nostdinredirect and
--launchertimeout <launcher>. This just makes start_test infer those values for
most situations to make our lives easier when running start_test.

Previously start_test would not be able to run any tests or would never
complete execution if you didn't throw these on a cray and it wasn't obvious
what was going wrong

Throw --nostdinredirect unless there is no launcher or the launcher is
amudprun.  we know that stdin redirection doesn't work for most launchers. only
do redirection when there's no launcher, or the launcher is amudprun, which we
know supports stdin redirection. Warn user about skipping tests unless they
threw -nostdinredirect or -stdinredirect or an env var is set to silence it

If the launcher name contains slurm set CHPL_LAUNCHER_TIMEOUT to slurm, and if
the launcher name contains pbs or qsub set CHPL_LAUNCHER_TIMEOUT to pbs. These
launchers handle timeouts themselves, and we don't need/want sub_test to be
trying to do it's own timeout mechanism.
Let _ltoa_convert() return -1 to indicate buffer overflow, and handle this in the caller.
Update BasicBlock construction to use condExprGet() for WhileStmt
Simple updates
Handle degenerate WhileStmts that are in the process of being removed
Merge branch 'master' into fixCoverity1241468
Update sub_test to pass walltime to slurm and look for timeouts

We let slurm handle timeouts instead of using sub_test's mechanisms. However,
we never actually looked for timeouts or told slurm what timeout to use.
Instead we just let the default timeout be used and didn't record the fact that
a timeout occurred.

This updates sub_test to pass --walltime to the executable which will in turn
set the actual slurm timeout. We also not look for the timeout and create an
appropriate error message like we do for pbs.