datapath: Action for returning packets to the kernel

This provides the 'back_to_kernel' datapath action which has one
of two effects:

- For packets originating from the kernel, sets a flag allowing
  the kernel hook to return it to the kernel.
- For packets that came from userspace, re-inserts the packet
  into the kernel input queue.
datapath: New kernel function to insert packets async

If available, use netif_receive_skb_finish() to asynchronously
return packets to the network input path after the point where
they were handed to us when the flow action is back_to_kernel.
lib,ofproto: Add 'back_to_kernel' OpenFlow action

This OpenFlow action triggers the 'back_to_kernel' datapath action
to ask the datapath to return packets to the kernel.
doc: Documentation updates for the back_to_kernel patches