Fixed a couple bugs in the parser

1) For as long as the code has existed on github, a cursor would only be
analyzed if the prepare variable could be found as a define variable.
This worked great before I broke the program file parsing into separate
threads, because a global variable being used for the prepare statement
was pretty much always going to be already defined. I removed this
check, because I don't see that we gain anything by knowing if the
variable exists or not...we'll see if that comes back to bite us.

2) The return statement consumer was getting a little too greedy and was
consuming the else keyword (among others, probably) as a return
variable. Fixed that.