Fix constant || and && evaluation

- When SendExprCommand() evaluates constant expressions for || and &&,
  it must explicitly pop both operands off the stack before pushing the
  result. The compiler will do normal short-circuiting here, so if it only
  needs one value to determine the result, only one would be popped off
  the stack.
Fix constant < > <= >= evaluation

- SendExprCommand() evaluated all four of these as their inverse. I
  wouldn't at all be surprised if this was caused by me fixing the
  undefined behavior (Which PopExStk() is called first?) and not
  even noticing that these were reversed because they popped off the stack
  in reverse order.
Add constant evaluation for ~

- When this operator was added to the language, it never got added to the
  constant expression path, so you could only use it in expressions
  evaluated at runtime.
Add support for unary +

- Other languages can do this, and carlcyber noticed ACC couldn't, so now
  it can.