This improves testing ERC-20 contract to be better usable in demonet:
The token name and symbol can be set during the contract deploy
A deployer can whitelist a contract (like UniswapRouter) to avoid the need for approving allowance by every contract user
The ERC-20 should be now safe to deploy to a publicly accessible network like demonet - allowance is now checked (the ERC-20 standard behavior) when the sender is not whitelisted
This improves testing ERC-20 contract to be better usable in demonet: