Tweaked bit_and(), bit_or() and bit_xor() to use compile time argument checking and changed them require at least 2 arguments.
Added unit test for bit_xor().