Have nflog_tlv_t include only the TLV header.

That way, sizeof(nflog_tlv_t) is the minimum size of a TLV.
Check caplen in the NFLOG TLV loop.

We want to process only the TLVs that are actually in the packet data,
so caplen is the right variable to use.

Also, just to make sure, check for a too-short TLV (with a length less
than the length of the TLV header), which also checks for a zero-length
TLV (which would otherwise cause an infinite loop), and put caplen and
length on the left-hand side of comparisons.
Describe all NFLOG TLV types and define structures for some of them.