Correct behavior of `||` and `&&` in ifs

`||` and `&&` now behave as expected when called on `false`
`or` and `and` can now be called on objects