ofono: don't unnecessarily cancel SetProperty calls

Only cancel duplicates. Also, fixed a few memory leaks - pending D-Bus calls were not being unref'd after being cancelled:

==7628== 104 (40 direct, 64 indirect) bytes in 1 blocks are definitely lost in loss record 239 of 295
==7628==    at 0x483643C: calloc (vg_replace_malloc.c:593)
==7628==    by 0x4986513: _dbus_pending_call_new_unlocked (dbus-pending-call.c:131)
==7628==    by 0x49756DB: dbus_connection_send_with_reply (dbus-connection.c:3394)
==7628==    by 0x3EF9F: set_property (ofono.c:406)
==7628==    by 0x3F797: modem_set_online (ofono.c:639)
==7628==    by 0x44CAB: modem_enable (ofono.c:2528)
==7628==    by 0x54D8B: __connman_device_enable (device.c:192)
==7628==    by 0xA139F: __connman_technology_add_device (technology.c:1428)
==7628==    by 0x568C7: connman_device_register (device.c:976)
==7628==    by 0x4073F: create_device (ofono.c:982)
==7628==    by 0x431AB: sim_changed (ofono.c:1948)
==7628==    by 0xC482B: signal_filter (watch.c:406)