hardware: new submodule for hardware enumeration and watching
plugin repository: use new hardware enumeration to obtain devices
cpu plugin: use hardware enumeration
disk plugin: use hardware enumeration
net plugin: use hardware enumeration
spec: add python-udev requirement
plugins: tuning units are handled within plugin classes

This change moves a lot of logic into the plugins, namely
the enumeration, seizing, and releasing of the devices.
However it allows the plugins to control the process in
more detail. This will be also utilised when tuning the
devices, which were dynamically added into the system.

WATCH OUT: only cpu plugin has been updated
daemon: use paths from tuned.consts
disk plugin: migrate to new structure