made colon optional for function expressions and else blocks. cleaned up token checking by adding Token.is(str) and Token.isNot(str) methods.