Refactor married keychains

* move handling of following keychains into the leading keychain
* move multisig threshold into the leading keychain
Does this really have to be a separate method? Why not just make it a second param to random() as that's the only one it's useful for?