Don't return an error string for NO_INTERFACES_FOUND.

Most callers of capture_interface_list() don't expect an error string
for NO_INTERFACES_FOUND, because that's not really an error, it's just a
statement of face (and perhaps an error of 0 should be returned), so
they don't bother freeing the error string, causing a leak.

Instead, have the one place that *did* expect it to return an error
string just put "No interfaces found" itself.

Also, have that place not check for an error string if interfaces *were*
found, as no error code or string is returned in that case.

Change-Id: I95018d647bf2bcea6732bdf4ffb48615ba669b2c
Reviewed-on: https://code.wireshark.org/review/3168
Reviewed-by: Guy Harris <guy@alum.mit.edu>