Simplify code
Revert "Simplify code"

This reverts commit f4890d1ed261f4bcd63feac62bc4f346e3095d29.
Planning items know best whether they fall in a certain period or not
Move decision whether a planned item matches a list of transaction into the planning item
Inline small functions
Forecast for period can be performed by individual planning items
optimization pushed to function where it is used
Simplify even more
move forecast function completely into account