Created BudgetLine

Extracted everything specific to a budget line into a new class. One
budget (name + category) can have different budget lines. Budget line
cannot overlap! there can be gaps. there are no gaps. eg each year you
can change the amount of a budget, its due date, end date etc etc. for
the moment only one budget line is added in the future you can have a
list. Might be a good idea to split up the tests.