Add comments to all items

Added comments to all classes, functions and methods. Also added
summaries that can be parsed for documentation.