Implements xor using foldr

I think my trouble with this exercise was trying too hard to roll everything up into a one-line function (which could be done now by using a lambda instead of explicitly defining `defXor`, though I wouldn't). Whereas `xor'` using `filter` is concise, it somewhat obscures the essence of the XOR logical operation. The `xor` function you are asked to write is the generalized version of XOR for n Boolean arguments, so it makes sense to perform `foldr` using the basic two-argument XOR. And `defXor` is exactly this — the very definition of XOR — p or q but not both. This assertion of what something is feels a lot more Haskellesque to me.