ERC20 support: add whitelist for tokens
see comment here: https://github.com/AthanorLabs/atomic-swap/pull/158/files#r954398151
we should add a whitelist that only allows specific ERC20s. potentially make the list update-able also.

code comment inside `newSwap()`:
```
            // transfer ERC-20 token into this contract
            // TODO: potentially check token balance before/after this step
            // and ensure the balance was increased by swap.value since fee-on-transfer
            // tokens are not supported
            IERC20(_asset).transferFrom(msg.sender, address(this), _value);
```

code comment inside `claim()`
```
            // TODO: this will FAIL for fee-on-transfer or rebasing tokens if the token
            // transfer reverts (i.e. if this contract does not contain _swap.value tokens),
            // exposing Bob's secret while giving him nothing
            //
            // potential solution: wrap tokens into shares instead of absolute values
            // swap.value would then contain the share of the token
            IERC20(_swap.asset).transfer(_swap.claimer, _swap.value - fee);
```