Fix ~ unary operator (can now const-fold).  Also things like b &= ~1 work now.  We also cache ast_value of float (-1) for -1-x (which is how ~ is implemented).
Merge branch 'cooking' of github.com:graphitemaster/gmqcc into cooking