Ensure even simple protocols build correctly.

Use cast-to-void to prevent "unused variable" warnings in dissect_*
functions. Wireshark builds using warnings as errors, thus these
warnings will prevent a successful dissector build. Very complex
protocols will usually use every one of the declared dissector function
variables, so only a few simple protocols will be affected.

Additionally, since Wireshark now builds using C++ compatibility mode
(understanding the same warnings-as-errors caveat noted above), ensure
that the header declarations of shared dissector data are marked extern.