Topic/basic property tables

From the main commit:

```
This commit tries to start writing some documentation around
how the algebraic structures work and their relationship to
each other. It is very rough but hopefully moves us in the
right direction.
```

I'm not sure this is 100% good in terms of pedagogy but hopefully
it is better than nothing. Maybe using the infix notation is a bad
idea but I tried it with function syntax and found the laws very
difficult to read and reason about.
wait, is that second law correct? `a + (b * c) = (a + b) * (a + c)`. I don't get that. It seems like distributive property with + and * swapped.