mtp: fix storage-list-related race condition between STORE_ADDED event handler and do_query_info()

The LIBMTP_Get_Storage() call in STORE_ADDED event handler needs
to be called with backend mutex held, otherwise it races with
iteration over storages list in do_query_info() as the latter
attempts to retrieve information about storage.

The issues occur when several stores are added at the same time,
because after a store is added, Nautilus immediately queries it
for info.

Also, backend reference should probably also be released in cases
when LIBMTP_Get_Storage() fails.

Signed-off-by: Rok Mandeljc <rok.mandeljc@gmail.com>