sp-unspent: Fix unspent total for BudgetTrees

This wasn't summing the unspent amounts for BudgetTree objects, and
instead was just showing the amount unspent on the last BudgetItem in
the BudgetTree.
Avoid errors when 'spending' not in config.

In particular, if the key isn't present we'd get an error,
or (the case I experienced) if the value was None then
os.expanduser will error about being given None.

Change-Id: I5c1e31710ea536a4ea7e73adcd64bb137042d19d