Fix error tests and open parenthesis error

Assert that the status is equal to the expected status, instead of less
than or equal.

Check for '(' in the stack at the end of parsing and return an open
parenthesis error, instead of a syntax error.
Call `stack_pop` when applying functions

Functions shouldn't be left on the stack after they're applied.