Refactor to simplify operation + some extension

Instead of building string paths through the balance separately to the
summing of each path, this now happens concurrently, in a
Tuple<Decimal,List<String>> being <Sum,Path>. Extended so can dump the
n closest balance paths when there's no Zero balance path. When an
Account has a 0 balance, this will now not be a +- split point in the
recursive pathing algorithm instead it will take a single "+-" path. As
the algorithm produces 2^n results, if you have say 11 accounts to
balance of which 3 are zero, this reduces storage from 2048 to 256,
while the output better communicates the ambiguity of that account
(showing a +- operation next to it, instead of 2 separate Balance
entries, one with + and one with -).
Quick/Dirty fix so "No Zero" output correct

Messed with the way the absolute values are recorded in case there's no
balance. Pretty dirty
Test commit please ignore

Fixing something maybe?
Updated Gitignore