Add ERC20 Balance Monitor
This is the ERC20BalanceMonitor contract, which is an upkeep for topping up ERC20 token balances for a list of addresses, as well as tests.
Implementation note: The contract in its current state directly calls transfer when topping up an ERC20 balance. This call will always return true for the base ERC20 contract, so it is not necessarily needed. However, if someone were to use a modified ERC20 with the same interface, the check on the boolean return value could be valuable. I am open to keeping the boolean check as it is, removing the boolean check, or replacing the entire call with a lower-level callWithExactGas.
I see that you haven't updated any CHANGELOG files. Would it make sense to do so?