Initial implementation of a three-valued logic type (Trilean).

The main objective is just to see how well this works using a value
class implementation (wrapping an Int). The representation is:

  0 = false   (all bits 0)
 -1 = true    (all bits 1)
  1 = unknown (last bit 1)

This might not be something that is generally-useful enough to include in
Spire. I just wanted to code it up and see how it looked.
It may be nice to have a more general `orElse(b: Boolean)` method.

    def orElse(b: Boolean): Boolean = int == 1 && b || int == -1
    def assumeTrue: Boolean = orElse(true)
    def assumeFalse: Boolean = orElse(false)