budget: transaction-cache BudgetLine.getAvailableBudgetDict

Eventhough _getBudgetDict was cached, getAvailableBudgetDict also
calculates getCurrentBudget for each cell, which is also heavy.
10 jobs for master
in 0 seconds, using 0 compute credits, and was queued for 0 seconds