Initial support for flow processing of bridged packets

To support this feature, packets are subjected to flow processing before
sending them to layer 3 protocols. As part of this feature, the way the
flow module functions also gets a relook. Earlier, packets were processed
inline and forwarded by the flow module. Now, the flow module just looks
up the entry and does whatever it has been instructuted to on the packet
and returns whether the packet should be forwarded or not. Whether a
layer 3 route lookup or a layer 2 MAC lookup has to be performed further
will now be the responsibilty of the calling module.

IPv6 code reorganisation

IPv6 code has been aggregated into a single file. Flow module has been
reorganized to accomodate IPv6 flow, but the support is still pending.

Minor bug fixes to rt to dump the IPv6 route table

Increase the string array size and make the IPv6 family string comparison
first, since inet and inet6 will match inet when comparison length is
strnlen(inet)