Move budget list to budget

This pull request refactors the place where you access the budget list to be a static field within `Budget` instead of withing `UBudgetApp`. This lets us handle adding/removing from within Budget instead of from wherever the code is used. This also lets us return an unmodifiable list when getting it, since we won't be fiddling with the list elsewhere.

This is mainly done to hopefully allow us to test a couple of activities.