Token management: improve performance of fee payment in operation batches
Currently, payment of fees in batches of manager operations produce as many token movements as operations in the batch. So in particular the number of reads and writes is linear in the length of the batch. The accessed keys in the context are always the same 2: the source of the transaction spends all the fees and the baker receives them all. So we could optimize the number of context accesses by computing the sum of all fees in the batch and doing a single transfer. It's not entirely clear how to do so while keeping all details in the receipt though; my preferred approach to attack this would be to optimize this inside the Token module, possibly by hiding it behind an algebraic representation of token movement actions.