Added generic IsEmpty function.
Testsuite for IsEmpty function.
Improved type detection.

GetType's detection is based on cached data. When attempting
to detect uncached device type (e.g. when commiting new one) it could
lead to returning incorrect type (e.g. /dev/modem0 -> 'modem' - should
be 'ppp').
Adopted testsuite.

It used to use GetType but with defined inputs (no ifcfg provided) it falls to
default which is in fact call to device_type and key property of GetType
(searching for cached data) wasn't tested at all.
Updated changelog
Merge pull request #90 from mchf/bnc809053-modem-type

Improved type detection