protocol api separation

provide the protocol docs classes in a separate jar.

see comment 10 and 11 in legacy/trac#12732 (moved)