At the moment, the HD seed cannot be set by the user. It will always be generated by Bitcoin-Core (CKey::MakeNewKey()).
This PR adds a startup argument -hdxpriv where users can set their custom hd extended master private key. The argument takes only affect during the creation of a new wallet.dat and there will be a warning if the argument is present during loading an exiting wallet.
If a custom extended master private key has been set, it will be kept when encrypting the wallet (with log-printing a warning).