Reduce the strictness of T -> bool checking, define always as x != 0

This is to mirror a change in Blaze/DataShape where we are allowing
T -> bool implicit conversions, but disallowing bool -> T for T
different from bool.