Fixes for Cordova support and SimpleDevicePicker

Revert to using addListener/removeListener instead of setListener,
since we need to watch for device events from multiple places.

Make DIALService and DLNAService report that they’ve connected so we
can report the connected event correctly.

Simplify SimpleDevicePicker to use SimpleDevicePickerListener.

Add warnings when DIALService does not have an applicationURL. Right
now, this seems to happen when a service is restored from
ConnectableDeviceStore.