protocol api separation

provide the protocol docs classes in a separate jar.

see comment 10 and 11 in #12732 (moved)