cpu: clean intel cpu model out of cpu

Move all the model checking for intel cpus out of cpu.cpp and
intel intel_cpu.cpp.  Add a constructor for nehalem cpu and
initialize some flags there based on model.
Merge branch 'powertop-ss'
intel_cpus: add support for Silvermont/Baytrail-M CPU
tell user if the system is running out of FDs

From: Jaroslav Skarvada <jskarvad@redhat.com>

complex servers can run out of FDs easily (due to perf).
In such case tell user that more FDs are needed instead
of the generic message (that kernel doesn't support
the perf).
set open files rlimit to /proc/sys/fs/nr_open

From: Jaroslav Skarvada <jskarvad@redhat.com>

we have noticed that it can only overcome soft limits, but not hard limits. E.g.
on Fedora (and probably others) there is a soft limit of 1024 and a hard limit
of 4096, so if powertop opens at least 15 file descriptors per CPU, then this
will fail on a system with >273 CPUs.

On my system NR_OPEN is 1024, but /proc/sys/fs/nr_open gives me 1048576.
It seems the linux kernel hardcodes 1024 * 1024 as the default kernel limit.
This default limit can be raised to:

sysctl_nr_open_max = min((size_t)INT_MAX, ~(size_t)0/sizeof(void *)) &
  -BITS_PER_LONG;

which is 2 Gi - 63 on my 64 bit system. I think we shouldn't
touch/increase this. It seems there is no header definition for these
limits.

I am proposing new patch, which reads the current kernel limit from the
/proc. I am not sure about the portability, but at least it shouldn't
break anything.

Finally I think, the first patch could be applied together with this patch
(probably with the changed message) to notify user that he/she reached
the FDs limit, because there is still some limit. This could also
occur if some process would decrease the /proc/sys/fs/nr_open after
it is read by powertop and before the ulimit is set

patch merge modifications by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com>