no NULL for webservice_url, allow free(NULL)

While technically no object functions are supposed to be called on a
NULL object, calling discid_free(NULL) doesn't actually hurt and
forgetting to call free() is worse.

Changing the return on invalid usage (no previous read/put success)
was forgotten for webservice_url when implementing LIB-48.