implement relayer/metatx support for swap contract `claim` function
currently, Bob needs to have some ETH to pay for gas when calling `Claim()` to get his ETH. this is a pretty old ETH problem (eg. I have DAI but no ETH, so the DAI is trapped) - I'm sure there is likely some existing solution to this, just need to explore what's out there. 