Skip test/io/ferguson/qio_test.test.c for Cygwin

This test depends on lseek to reset its position within a file,
and then reads a certain number of bytes to determine the file's
length.  However, on Cygwin, the use of lseek means that processes
reading text files can't depend on the number of bytes read to
determine their position within a file.  This test should be
rewritten for cygwin portability, and our qio runtime code checked
for similar assumptions.  Until then, it is not useful there.
Added feedback from Tom on "on nil" semantics.
Merge pull request #973 from vasslitvinov/add-toms-feedback-to--on-nil.future

Added feedback from Tom on "on nil" semantics.

In his email  to me Tom says:

"[...] the discussion focuses on what "on c" means when c is of class type.  As an unsupported opinion, I think that users are likely to find it more useful if "on c" means "go to the locale on which c is allocated".  In the case that c == nil, there is no allocation associated with c, therefore "on c" is undefined.  I would expect a runtime error to result.

I think this is consistent, because instead of using 0 (== rootLocale.id) as the locale_id portion of a default-initialized wide pointer, we could use a distinguished value LOCALE_UNINITIALIZED.  If the address portion of the pointer is zero, no memory has been allocated, so the class object does not exist on any particular locale.  It is, in that sense, absurd to talk about "nil" residing on any particular locale."
Add tests and futures related to module, variable, and type name interactions

It was discovered that when a type (specifically "object") and a module have
the same name, their names are interpretted as multiple definitions.  We think
these should not conflict, so add two futures covering the cases where it can
occur (so that some good Samaritan doesn't fix half the problem).  Additionally,
we didn't seem to have any tests that covered the cases where a variable has
the same name as its module file.  At least, none lived within the module
test directory.  So, to lock in that behavior, I added two tests of that
functionality while I was here.
Merge pull request #971 from lydia-duncan/newCygwinSkipif

Skip test/io/ferguson/qio_test.test.c for Cygwin [ok'd by noakesmichael]

This test depends on lseek to reset its position within a file,
and then reads a certain number of bytes to determine the file's
length. However, on Cygwin, the use of lseek means that processes
reading text files can't depend on the number of bytes read to
determine their position within a file. This test should be
rewritten for cygwin portability, and our qio runtime code checked
for similar assumptions. Until then, it is not useful there.
Merge pull request #974 from lydia-duncan/moduleFuture

Add tests and futures related to module, variable, and type name interactions
[ok'd by tmacd9]

It was discovered that when a type (specifically "object") and a module have
the same name, their names are interpretted as multiple definitions. We think
these should not conflict, so add two futures covering the cases where it can
occur (so that some good Samaritan doesn't fix half the problem). Additionally,
we didn't seem to have any tests that covered the cases where a variable has
the same name as its module file. At least, none lived within the module
test directory. So, to lock in that behavior, I added two tests of that
functionality while I was here.
Kyle pointed out that we recently updated our host indicators for Cygwin
Merge pull request #975 from lydia-duncan/newCygwinSkipif

Kyle pointed out that we recently updated our host indicators for Cygwin

So I need to update my new skipif
[trivial, not reviewed]
Regression update
Merge pull request #976 from noakesmichael/regress

REGRESSIONS: update file.

Removed notes on several new failures from late last week.  Added commentary for the Cray enum issue.
Updated all of the entry date-stamps.
Update Cygwin64 for a new error
Merge pull request #977 from noakesmichael/regress

REGRESSIONS: Update Cygwin64 for a new error
Introduce LoopStmt
Convert While/For loops to inherit from LoopStmt
Convert BlockStmt break/continue label to protected variables and add virtual methods
Introduce functions isLoopStmt/toLoopStmt() and update virtual method BlockStmt::isLoop()
Merge pull request #979 from noakesmichael/loop-0

Introduce LoopStmt as a base class for While/For stmts

1) Introduce a new class LoopStmt to serve as a base class for While/For loops

2) Convert BlockStmt breakLabel/continueLabel to protected member variables of BlockStmt
and add virtual methods to access them.

3) Introduce the functions isLoopStmt() and toLoopStmt()

4) Convert the virtual method isLoop() to be isLoopStmt() and update the references.

Compiled: STD clang/darwin, STD gcc/linux64, LLVM gcc/linux64
Tested: paratest --verify
Review: none
Include special handling of WhileStmt in deadBlockElimination
Drop use of WhileStmt::replaceChild
Merge pull request #980 from noakesmichael/whileChild

WhileStmt::replaceChild    Remove

There was one location in deadBlockElimination that was relying on WhileStmt::replaceChild to
NULL-out the condition expression.

1) Converted that in to an operation that removes the entire WhileStmt, this is what we really want.

2) Dropped the implementation of WhileStmt::replaceChild

Compiled: STD clang/darwin, STD gcc/linux64, LLVM gcc/linux64
Tested: paratest --verify
Review: none