Initial Annotations and Documentation

I added the `annotate` gem, and ran `rake doc:app` to create some
initial documentation for the code.

This accounts for roughly 60% (est.) of a good set of documentation,
the rest of which must be made manually.