When an empty string is provided for the optional block hash argument,
this should be treated as if it were omitted rather than the zero hash,
which is an invalid block.
This changes handleGetTreasuryBalance to treat "" like nil. This change
is consistent with how handleGetTreasurySpendVotes handles its optional
block argument.
The tests for both gettreasurybalance and gettreasuryspendvotes are
updated to ensure this behavior (existing for gettreasuryspendvotes).