Upnp discover hardware resource added

added upnp discovery and fixed some documentation bugs. please review my code :)
As mentioned before, you probably need a hash of <pluginId, discoverytransaction>. Maybe even splitting it up into a new class. Something like that

Transation *t = new Transaction(m_nam, "ssdp:something");
t->start();
connect(t, &finished, this, slotFinished)
m_transactions.insert(pluginId, transaction)

And in there you do the devicelist building and at the end you emit finished(QList<Device>). In here you just forward it, attaching the pluginId from the m_transations hash again.

That way we guarantee multiple plugins don't trash each others discoveries.