Other in KDE Base
With Kevin Ottins' blessing, checking this in -- sorry about the API. Functions removed were because they are unlikely to return valid (accurate) data, and device libraries generally handle this correctly, so taking this out before it's stuck in there until 5.0 (can be added back later if this situation improves).
Functions added better reflect current HAL specifications (which were modified in conjunction with this work), allow for multiple drivers for devices, and allow applications to discover a device's protocol, which is crucial for automagically using a device in an application.
Hopefully there won't be any further breakage here.