strip_expr: strip out known true false conditionals
This changes: "(1) ? foo : bar" to just "foo".
If I recall correctly this is for handling cpu_to_le32() and friends. For
those functions we want to pretend the bytes swapping didn't happen. That
makes it easier to remember the value. It's ok to record a fake value for
the byte swapped data because hopefully the kernel swaps it back before
using it for anything.
Smatch always says that __builtin_constant_p() is false.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>