ERC20 support: handle decimal places other than 18
Currently, we parse the taker's `providesAmount` to [18 decimal places](https://github.com/AthanorLabs/atomic-swap/blob/000b734f55061218dad8593306efdb89c9bb5f1a/protocol/xmrtaker/net.go#L20). Not all tokens have 18 decimal places, like USDT/USDC have 6, so if we tried to swap those using the CLI or RPC, we would be swapping more than we wanted to.

We could (1)
- Specify the number of decimal places a token has alongside its address in the trusted token list
- Check this number against the number returned by the RPC

Including the number of decimal places a token has in our list will protect against a malicious RPC server which might return more decimals than are really there.

Or, (2) we choose to support only tokens that have 18 decimal places. DAI or TrueUSD are stablecoins with 18 decimal places that would be alternatives to USDC or USDT. This is the less robust approach but requires no effort or UI changes. It is unknown whether token demand is strong or not anyway.

It might be useful if the taker RPC calls/initiate request handle the amount to send with big ints instead of floats. That way the decimal places only need to be decided in the UI.