Rename encode decode to read write payload

The encoder should provide the symbol and the symbol_id separately. That is the purpose of these symbol coder classes. They should not generate/process payloads.
So the ``write_payload`` name is definitely bogus here. We need to find an acceptable solution to this problem.