detect: Adding cpu socket count from lshw

Let's use the physid information reported by lshw to count the number of
physical sockets. This information will be useful for benchmark the
memory.

This commit add also a new test from a real multiple socket setup and
fixes the exisiting one.

That said, macbook pro reports 4 sockets.. I don't really get why.
test_detect: Removing debug trace

print l was only useful for debugging, no need to commit it
detect: Improving memory detection

This commit is adding the following items to the memory detection:
- number of memory banks
- For each memory bank :
    - size
    - speed
    - vendor
    - model
    - location

As per this addtion, system/memory/size becomes memory/total/size.
Existing jobs have been updated regarding this change.
detect: Splitting logical & physical CPUs

As per the memory item, the cpu got relocated out of system to get more
depth.

This commit splits logical & physical CPUs. This could be very useful to
detect miss configuration of some.

All existing specs and tests got updated accordingly
health-check: An automated performance reporting tool

This new target will generated a bootable image that will compute some
system tests to estimate it's efficiency and health status.

A series of raw numbers will be generated and reported inside an
extended hw.py file.

This patch add the required makefile targets, the testing suite (make
health-check).

health-check is today only reporting the cpu performance by using
sysbench.

A typical output is like the following:
('cpu', 'physical_0', 'physid', '1'),
('cpu', 'physical_0', 'cores', '2'),
('cpu', 'physical_0', 'enabled_cores', '2'),
('cpu', 'physical_0', 'threads', '4'),
('cpu', 'physical', 'number', 1),
('cpu', 'logical', 'number', '4'),
('cpu', 'logical_0', 'bogomips', '5187.90'),
('cpu', 'logical_0', 'cache_size', '3072KB'),
('cpu', 'logical_0', 'loops_per_sec', 561),
('cpu', 'logical_1', 'bogomips', '5187.90'),
('cpu', 'logical_1', 'cache_size', '3072KB'),
('cpu', 'logical_1', 'loops_per_sec', 561),
('cpu', 'logical_2', 'bogomips', '5187.90'),
('cpu', 'logical_2', 'cache_size', '3072KB'),
('cpu', 'logical_2', 'loops_per_sec', 553),
('cpu', 'logical_3', 'bogomips', '5187.90'),
('cpu', 'logical_3', 'cache_size', '3072KB'),
('cpu', 'logical_3', 'loops_per_sec', 542),
('cpu', 'logical', 'loops_per_sec', 1604)]

Reporting is spliting physical cpu (sockets) and logical one (thoses
seen by Linux).

Detailed information about physical are only available if seen by lshw.
Bogomips & cache_size are taken from the /proc/cpuinfo while the
loops_per_sec are computed by running sysbench for 10 seconds.

Note that loops_per_sec are reported for
- each logical processor by running binding sysbench on the selected processor but also for
- all logical processors at one time by running sysbench with num-threads = the
  number of logical processors.