CIGI: Use a dissector table for packet id for version 3
Use a dissector table for dissecting different packet ID types for CIGI version 3.
This allows other dissectors (e.g., in Lua) to register to the table to dissect user defined packet types.
Also fix the dissection of unknown/data in CIGI 4; the common function was looking at the previous byte to determine the packet length, but as CIGI 4 uses a different header (with a 2 byte length in a different offset), this didn't work. Instead take a proper subset based on the reported length.
The minor versions of CIGI 3 just add fields in previously reserved places. There's no need to register identical fields (with identical abbreviations), so remove a lot of duplicate fields.
This approach should be extended to CIGI 2 and 4 later.