Feature: Documentation Generation

This gives us the ability to easily generate docs for those modules who have it. It also contains a first pass of the docs.

Relies on #69.