chore(prePush): Prevent pushes with a bad push.default value

This is another step for Issue #248, to ensure that the dev has a reasonable `push.default` value before doing a push. A bad value could cause all local branches to get pushed up, and if they combined that with a `--force`, we'd be especially unhappy.

This is the most Ruby I've ever written.