For some reason, when using `claim_search`
with `--claim_id`, the arguments dictionary will also
contain `claim_ids` with an empty list, even if we didn't specify it.
```
lbrynet claim search --claim_id=8945573bcfcb7f8276187dfbb93545eac4ebf71a
```
Using both `claim_id` and `claim_ids` will raise a `ValueError`
exception so the daemon won't return a valid result
even if the claim ID is in fact valid.
So if `claim_id` exists, we need to discard `claim_ids`
if it is empty, before proceeding with the rest of the code.
On the other hand, if `claim_ids` is used, and `claim_id` is absent,
there will be no problem as `claim_id` won't be added to the dictionary.
```
lbrynet claim search --claim_ids=8945573bcfcb7f8276187dfbb93545eac4ebf71a
```
If the error is not handled, the running daemon will continuously
print the following error message:
```
Traceback (most recent call last):
File "lbry/extras/daemon/exchange_rate_manager.py", line 77, in get_rate
File "lbry/extras/daemon/exchange_rate_manager.py", line 189, in get_rate_from_response
KeyError: 0
```
This started happening when the UPBit exchange decided to delist
the LBC coin.
Normally `json_response` should be a dictionary, not a list,
so `json_response[0]` causes an error.
By checking for the `'error'` key, we can raise the proper exception.
Once this is done, the message will be a warning, not a traceback.
```
WARNING lbry.extras.daemon.exchange_rate_manager:92:
Failed to get exchange rate from UPbit: result not found
```