It totally makes sense to pass a const struct list * to one of these
functions. Ideally the return type would be the same as the argument
type but C can't handle that, so this is the best second choice.
ovs_queue doesn't seem very useful; it's just a singly-linked list. It's
more generally useful to use a general-purpose "struct list" for lists of
packets, so this commit adds such a member to "struct ofpbuf" and shifts
the existing users to use it.