Replace Linux RPS setting with a smarter script

We were setting Receive Packet Steering as "ff" (i.e. all CPUs, up to 16
CPUs) to all RX queues for a given interface (eth0). While is this what
basically everyone on the web recommends, experience in the field has
shown that this was very unbalanced, with CPU 0 getting most of the load
and even spending all of its time being busy -and producing packet loss
& latency- while other CPUs remained relatively idle.

A smarter way of handling the load is pinning each queue to a separate
CPU, while isolating to the greatest extent the CPUs for each. This has
proven to balance the load as fairly as possible. Experimentation has
also shown that using HyperThreading siblings (even pairing them with
each other) is actively worse and it's best to ignore them completely.

Finally, experimentation has shown that for our primary use case (LVS),
Transmit Packet Steering makes little to no difference.

This replaces the older bash one-liner with a Python script which tries
to be extra smart about how to distribute queues to CPUs (and CPUs with
HT). Unfortunately, the number of CPUs and queues can differ wildly
between boxes and -in cases such as amslvs1- can unconvienently be five
queues for four CPUs, so we need to cover multiple cases.

This has been tested manually on amslvs1 & lvs1001 and made a
considerable difference.

Change-Id: I606d222616a62563cb0a2939d3e800d04db1de39