Swap stuck in "Cancel timelock is expired" state
**Describe the bug**
I started a swap (as a buyer) where the monero got locked but then I kept getting something about a timeout in the event loop that was preventing the next step from being reached and then the time lock expired on my btc. I can't do anything with the swap now. If I try to resume I get an electrum senddrawtransaction RPC error about: 
```json
{
    "code": -25,
    "message": "bad-txns-inputs-missingorspent"
}
```

If I try to cancel I get:
```
The cancel transaction cannot be published yet, because the timelock has not expired. Please try again later
```

and if I try to refund:
```
Cannot refund because swap <swap-id> was not cancelled yet. Make sure to cancel the swap before trying to refund.
```

NB: apologies for the long logs..I might have written a script to keep retrying the swap because I've lost my funds 3 times in a row before this and got frustrated..

Thanks for the help!

**Lost/trapped Funds**
Yes

**Debug logs**

https://gist.github.com/tiltsh1ft/4cd9613051779df25ed106bcd17a01a7

**Platform (please complete the following information):**

- CLI
- Software Version: 0.8.3 -- if I try any later version, like 0.9.0, it can't migrate my data and shows nothing when I try ./swap history
- Operating System: I started on Whonix, then copied my files over to OSX to see if I could try migrating to 0.9.0 or the latest master. Neither worked.
