quick script to presplit based on hashed shard key

Careful when using as shell doesn't do enough precision to handle the
full range
Fixed some issues and generalized some functions, refactored helper functions

Added more levels of detail, moved counting steps where failure
occurred into aggregation, added detail about how much chunks failed
relative to total number of failures.