[CORE] net: Lockless bottom-half queue for network switch

We have per-cpu bottom-half queue and worker thread which processes
xfer request from bottom-half queue. Currently, this bottom-half queue
is linked-list based and protected using spinlock. If we have multiple
threads doing Tx/Rx of packets running on same host cpu then we might
spend considerable time in locking/unlocking and signalling.

This patch makes per-cpu bottom-half queue ring based and completely
lockless based on concept of "Lockless message passing". For details
on "Lockless message passing" refer:
http://www.informit.com/articles/article.aspx?p=1626980&seqNum=3
http://www.linuxjournal.com/content/lock-free-multi-producer-multi-consumer-queue-ring-buffer

The new approach for bottom-half queue stabilizes and improves performance
of inter-guest packet Tx/Rx.

Signed-off-by: Anup Patel <anup@brainfault.org>