Update protocol documentation
The first commit changes the protocol to make it easier to explain.
I also wrote code to automatically produce protocol.html. I have doubt about the contents of the workflow column. The docstrings should be adjusted according to the actual documentation.