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.
I know (but often forget) the proof that + is commutative for Ring. Can that proof be made for Rng? Is that why + here is always commutative? I took a stab at it:
```
(a + c)(b + d) = a(b + d) + c(b + d) = ab + ad + cb + cd
            or = (a + c)b + (a + c)d = ab + cb + ad + cd
if negation exists:

ab + cb = cb + ad

Can we prove that all elements of a Rng can be factored into a product? Is there another way to prove commutativity on +? Is it just part of the definition?
```