Fix termination condition for getNextExpr
Merge pull request #959 from noakesmichael/getFirstAndNext

Fix termination condition for getNextExpr

I transformed getFirstExpr/getNextExpr from a pair of functions that dispatch on BaseAST to
a pair of virtual methods on BaseAST; this was done to allow for expansion to support While/For
loops.  However I screwed up the termination condition on getNextExpr which caused a "fence post"
error when iterating over certain expression types.

This error was not surfaced in any current code/tests but new code by Elliot caught my error.

Compiled: STD clang/darwin, STD gcc/linux64, LLVM gcc/linux64
Tested: paratest --verify
Reviewed: Extensive email thread with Elliot