seed RNG with hash of run name

This ensures deterministic results while giving different results for
parallel runs.
also calculate proton balance function
calculate balance functions correctly

The wrong signs were used, so B(pi+, pi-) was negative instead of
positive. This is fixed here.

Note that B(p, pbar) still seems to have the wrong sign for some reason.