All predicate? methods should return false or true

Adjust all tests to ensure `predicate?`-type methods return true or false, as opposed to truthy or falsey.
This prevents callers from surprises when the return values are used in places where the difference betwee `nil` and `false` matters, e.g.:

```ruby
irb(main):001:0> case nil
irb(main):002:1> when true
irb(main):003:1> puts 'true'
irb(main):004:1> when false
irb(main):005:1> puts 'false'
irb(main):006:1> end
=> nil
```

This also better matches the method contract that says they all return a boolean.