Merge pull request #34 from amtep/master

[mtp] Support initiators that leave mtpParentObject blank
Don't let DeviceInfoProvider_Test overwrite ~/.cache/mtp/deviceinfo.xml

Fixes mysterious "IAmYourFriend" device name appearing on Windows.
Make StorageFactory destructor dlclose all storage plugins

The code is now generic and will handle situation when we later add more
kinds of storages, other than filesystem. Also fixes possible
application crash when there weren't any plugin loaded.
Merge pull request #37 from xhaakon/test-fix

Don't let DeviceInfoProvider_Test overwrite ~/.cache/mtp/deviceinfo.xml
Make StorageFactory destructor dlclose all storage plugins
[packaging] Require libqt5sparql-tracker-direct

It doesn't get pulled in automatically because it's loaded as
a plugin rather than dynamically linked. Without it, the
QSparqlConnection fails.
[mtp] fix possible null dereference in MTPResponder::getObjectPropListReq()

One shouldn't check wheter QMap contains a key using operator[] since it
inserts a default value for the key if it isn't already there.

In this particular case the excess property codes that
PropertyPod::getObjectPropListReq() could insert into some of the
m_objPropMap* QMaps resulted in excess values to be put into the static
QVectors of PropertyPod::getObjectPropsSupportedByType(), if they were
initialized afterwards.

Consequently, in MTPResponder::getObjectPropListReq() iteration over the
items obtained from getObjectPropsSupportedByType() could lead to a null
pointer returned from PropertyPod::getObjectPropDesc() and its
subsequent dereference on the next line of code.