mempool: Don't waste 8MB of memory on unused buffers

This patch reduces our BSS size from 9MB to less than 1MB, and reduces the
minimum amount of memory required to run the "rogue" image from 55 MB to
just 47 MB.  Together with the previous patch, this fixes #96.

Our almost-lock-free SMP allocator uses cpu-to-cpu rings to send freed
memory from one CPU to another. So for N cpus we need N^2 of these buffers.
But in an apparent attempt to support CPU hotplugging  the current code
allocated queues for 64 CPUs, instead of the real number of CPUs we have.
So even with a single CPU, we always have 64*64 of these buffers, each a
little over 2K, so totaling a whopping 8MB, wile only a tiny fraction of
this will ever be used

This patch changes the code to only allocate the number of these queues we
really need. It does not support CPU hot-plugging, but a lot of other places
in the code don't support hot-plugging either, so I left a FIXME to remind
us where we need to fix.

Reviewed-by: Glauber Costa <glommer@cloudius-systems.com>
Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>