Add tests for budget_save_amount()
(tiny) Change internal class _SidebarAccountItem to a new-style class
Several budget-related changes
- Add amount validation to budget_save_amount()
- Make budget URLs with out-of-range month give a 404

Also:
- Make root moneybin source folder into a package
- Specify module imports in ledger/__init__.py
- Several small style changes
Fix screwy imports (ugh)
Budget overhaul part two.

DB API
- Refactor DB API budget functions to take year
  and month params instead of a single date param,
  and add year and month validation
- Update budget DB API tests to reflect new function
  signature

Forms
- New 'BudgetCreateUpdateForm' to do validation on
  entered budgeted amounts

Views
- Change date parameters for budget-related views to
  take year and month separately, instead of a
  datetime object
- Factor out gathering of budget table data in
  BudgetListView to a separate function
- New BudgetCreateUpdateView that uses a dynamic
  Django form and a separate page for
  updating budgeted amounts.

Other
- New budget update url pattern
- Disable admin page by removing URL pattern for it
- Some code style changes
- A few cosmetic changes (e.g. budget balance table
  is now always visible)
Add budget update template