scanparam: Fix handle range check on descriptor discovery

When discovering descriptors, if there is only a single descriptor, the
start handle will be equal to the end handle. It is valid to issue the
Find Information Request on this case.

Before this fix, notification for Scan Refresh characteristic was never
enabled.
scanparam: Remove unnecessary assignment

"scan" will be g_free()'d on this same function, so no need to assign 0
to refresh_cb_id.
scanparam: Fix missing check for valid GAttrib when removing device

If device is removed while there is no connection, scan->attrib will be
NULL, because its reference is managed by attio connect/disconnect
callbacks. This means that on disconnect any resources owned by GAttrib
will be properly destroyed.
scanparam: Apply convention for "GSource id" like variable

By convention, BlueZ code checks for "Gsource id" like variables using:

if (source_id > 0)
...

Also fix the variable type to match that returned by
g_attrib_unregister().
scanparam: Remove unneeded header include