switch to generated protocol instead of hand-written classes
demonstrate new protocol JSON abilities
add work-in-progress middleware thing
update identity provider example to use new protocol bits
add some "documentation"