Gk browser better data generator

Test data generator now much more flexible

Moved some column sizing stuff (should have been a separate PR, sorry)

Some clean up

@jpsim @alazier @tgoyne 
This would be clearer IMHO if you just returned the value directly, which would also remove the need to `break` after.