Implement two different interpretations of a TriBool

As an opening stab implement the Kleene and
Łukasiewicz interpretations of three valued
logic.

see http://en.wikipedia.org/wiki/Tribool

Not sure the implementation is the best one
can do in scala, a bit hairy.