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.