DRY up a bunch of shared minion code.

Factor out a bunch of setsockopt and initialization.

This makes it much easier to see the actual differences between Minion.tune_in(), Minion.tune_in_no_block(), and MultiMinion.tune_in().