Get examples compiling again.
First pass at a KleeneAlgebra example.

The example is taken from: http://r6.ca/blog/20110808T035622Z.html

The code can currently compute transitive closure using an intance of
KleeneAlgebra[Graph]. About 1/3 of the example has been translated to Scala.
Some things to think about:

1. It would be really nice to have a Bounded[A] type class like Haskell.
2. We should probably implement Semiring and Rig for Boolean.
3. Consider better ways to encode square matrix dimension in types.