Fix wantsSpace{Before,After} conflict resolution

If one token absolutely does *not* want a space after it, and the
following token absolutely *does* want a space before it, the conflict
should be resolved in favour of adding a space, because adding a space
between tokens never breaks code, while removing a space between tokens
*can* break code (“voidrun()”). That’s how the documentation specifies
it, and that’s why the writer checks if the sum is >= 0 (as opposed to
> 0). However, it seems I have never actually checked that the sum of
minDesire and maxDesire is 0… (it was -1, which means “no space”)

This lead to some test cases failing (I would never have thought that
there would be so many collisions!), so some weights have been adjusted.
testSamples: fix expected, actual argument order
Fix spacing of empty blocks

    case (something) {} // without space
but
    case (something) { print(thing); } // with space