Rewrite of Budget class to use Joda Time

I got annoyed with having the `Budget` class store dates as milliseconds since the Unix epoch, so I went ahead and rewrote the Budget class with Joda Time. This will make it easier to communicate with the server.

As a side effect, that made the date calculations much easier for us, by virtue of it pretty much already being implemented.

This branch also adds tests for the `Budget` class. If you think I should add more tests to test more things, please say so. On my machine, Emma is saying that we have 12% overall coverage. Most of the lines of code in this project exist within the activities, so this is a good start.

The next thing for someone to do will be to update the `Entry` class with Joda Time so that everyone's using the same representation. Also to write tests for the `Entry` class.