Merge pull request #50 from amtep/jb12235

Do the storage enumeration (file scan) in the background in order to keep OS/X from becoming impatient.
[storage] remove HalProxy

HAL passed away, never quite loved. Rest in peace.
[tests] remove some Qt4 legacy in a project file
[fsstorage] remove unused m_rootFolderPath

FsStoragePlugin::m_rootFolderPath wasn't used anywhere, likely being a
duplicate of StoragePlugin::m_storagePath.
[fsstorage] remove unused m_uniqueObjectHandle

The member is assigned but never read. In unit tests, use a static
variable to provide object handles when StorageFactory isn't available.
[storage] move StoragePlugin::m_storagePath to FsStoragePlugin

This protected class member doesn't play any role in the abstract
interface of a storage plugin. In general, for some potential kinds of
storage plugin, implemented in the future, the concept of "storage path"
might not even make any sense. Consequently, let's move the member to
the place of its use, which is FsStoragePlugin.
[fsstorage] ensure absolute FSStoragePlugin::m_storagePath

User may write the storage path in /etc/fsstorage.d/*.xml with extra
slashes or '.' and '..' elements. We want to always have the storage
path in the absolute format to allow correct string comparison etc.
[fsstorage] use unique filenames for PUOID databases

All instances of FsStoragePlugin were using file ~/.local/mtp/mtppuoids,
overwriting each other's data. The new naming scheme is

 mtppuoids-{name}-{fsuuid}

Where name is a storage name attribute from its configuration file in
/etc/fsstorage.d and fsuuid is a UUID of storage's filesystem.

UUID alone is not enough for unique distinction since different parts of
a single filesystem may be exported as different MTP storages. In that
case, user-configured storage names ensure unique database filenames.
[fsstorage] remove legacy PUOID database

The file used in previous versions of buteo-mtp now only wastes device
memory.
[fsstorage] ensure storage path exists when instantiating the plugin
[tests] don't link storage-test with libblkid and libmount

Avoid storage-test crash on device:

[W] QCoreApplicationPrivate::QCoreApplicationPrivate:416 - WARNING: \
QApplication was not created in the main() thread.
Segmentation fault (core dumped)

It's probably caused by TLS variable currentThreadData in Qt's
qthread_unix.cpp not getting initialized to zero, which seems like a
compiler or run-time linker issue. Once sorted out, this commit may be
reverted.
Merge pull request #51 from xhaakon/master

Fix PUOID storage and related stuff

The puoid persistence logic was broken by the sd card support and this PR fixes it
[tests] wait until storages are ready

We have to wait until the storages are initialized before proceeding
with the test case execution.
[tests] fix MTPResponder_test::testSetObjectReferences()

On devices with many stored files, 1000 might be a too low object handle
to be invalid.
Merge PR#52 from xhaakon/master
[buteo-mtp] Fix build of mtpserver
Merge pull request #53 from nemomobile/fixmtpserver

[buteo-mtp] Fix build of mtpserver