Reimplement KleeneImplication

This time implement it correctly, I couldn't fix the wrong
definition so I replaced it with the verbose one
Rename TriBool Traits

Shorten the names as they are already nested
in the object TriBoolean it seemed silly
to have TriBoolean.TriBooleanConjunctable