tlv/msgb: Be able to generate and parse TLV as used by LLDP

The Link Layer Discovery Protocol is using a Tag Length Value (TLV)
structure. What is different is that the tag and length do not stop
at byte boundaries.

This commit introduces methods to msgb and tlv to be able to create
such a tag/length header and a way to parse it using the tlv_parse
routine. When it comes to parsing we have an issue that the new
TLV_TYPE_T7L9V should not be mixed with the other types inside the
same tlv definition. This is due the bitshifting required to
identify the tag.

The code likely requires work on big-endian machines but so does
most of the other code as well.