Better comments, better output

The algorithm is the same (and I'm pretty sure it's 100% finished), but
I cleaned up the output at the request of tpalsulich, and updated some
of the comments to explain why certain parts of the code differ
significantly from the paper.