Only look at the header for control packets; we don't know what the
payload contains for other packet types.
This fixes some cases where we fail to check whether we have a full
header before fetching from the header - we only need to fetch from the
header for control packets, so we now only need to check that we have it
for control packets; make sure we *don't* look at the header for other
packet types.
Update the v0 code to match draft-ietf-bfd-base-01, which was the last
draft that discussed v0.