Gio: refactor creation of RawVolume

Creation of RawVolume instance is done in the same way in
several places, so we can extract a method where we do
a sanity check over the volume_device_map dictionary search.

Signed-off-by: Andrés G. Aragoneses <knocte@gmail.com>
Hardware: Add DeviceChanged signal for Dap.Mtp (bgo#729438)

To use an MTP device, we must unmount it and release the connection that
Gvfs makes. Prior to this patch, banshee considered two possible device
events, added and removed so unmounts had to be covered by the latter
case, causing MTP devices to be unmapped as they were being configured.

This patch allows the state transition to occur with the assumption that
the device is still physically present and allows devices which don't
present a Mount in their VolumeAddedArgs to be recognised when their
Mounts do become available. This has the added benefit that further down
the line, we can add sources for yet-to-be-configured devices providing
the user with setup or error handling instructions.

As a test: without this patch, a Nexus7 device would not be recognized
by Banshee when connecting it to a laptop running Ubuntu 14.04.

Signed-off-by: Andrés G. Aragoneses <knocte@gmail.com>