Allow a DLT number to be specified.

That will let tests be done on DLTs with no entry in the table of names
and descriptions, to make sure we don't, for example, crash with a
filter that tries to test the network-layer type of the packet if the
link-layer header has no type field (and doesn't imply that it is, for
example, IP).
Don't crash on filters testing a non-existent link-layer type field.

Instead, generate an error indicating that the link-layer type filtering
isn't implemented for that link-layer header type, just as we already do
for some types.  That way, we don't punish programs, or their users, for
not knowing (or caring) that a given link-layer header type doesn't have
a way to determine the protocol running atop that link-layer header
type.
Note the most recent change.