Add a functional if-then-else expression type

In LibASMIR, Vine IR, and FuzzBALL's domain interface. We were already
using this in a bunch of places, and both VEX and STP support it,
so it makes sense to have it as a native expression type instead
of the awkward bitwise representation.