Document All The Things (At Once)

This should be enough to get us by for now.

I'm going to make it a hard requirement from now on that pull requests contributing significant new functionality come with documentation.
Should probably be:

``` swift
f § g § h § x = f(g(h(x)))
```

I don't think what currently written there is valid Swift!  :P