Fix a bug for handling chpl__tryToken in functionResolution

When rolling back the callStack in functionResolution after a resolution fails
in the then side of a chpl__tryToken conditional, stop if the callStack becomes
empty.

Added a test that causes a compiler segfault without this change because the
callStack becomes empty and then a function is called on the tail of the empty
stack.
This could be recoded as:
  // Pop frames off the callStack until the current scope (a conditional) matches the parent of the try token.
  while (callstack.n > 0) {
    if (callStack.tail()->isResolved() == tryStack.tail()->elseStmt->parentSymbol)
      break;
    callStack.pop();
  }

* Under what conditions will the callStack be found to be empty after this search?
* Isn't tryStack.tail()->elseStmt->parentSymbol == tryStack.tail()->parentSymbol? (I'm not sure, it just seems to me that this should be true....)