message: Add option to importmulti add an imported pubkey to the keypool
  Adds a new option to importmulti where the pubkeys specified in the import
  object can be added to the keypool. This only works if the wallet has
  private keys disabled.
diff: @@ -1207,6 +1207,12 @@ static UniValue ProcessImport(CWallet * const pwallet, const UniValue& data, con
  throw JSONRPCError(RPC_INVALID_PARAMETER, "Internal addresses should not have a label");
  }
  const std::string& label = data.exists("label") ? data["label"].get_str() : "";
  + const bool add_keypool = data.exists("keypool") ? data["keypool"].get_bool() : false;
  +
  + // Add to keypool only works with privkeys disabled
  + if (add_keypool && !pwallet->IsWalletFlagSet(WALLET_FLAG_DISABLE_PRIVATE_KEYS)) {
  + throw JSONRPCError(RPC_INVALID_PARAMETER, "Keys can only be imported to the keypool when private keys are disabled");
  + }
  ImportData import_data;
  std::map<CKeyID, CPubKey> pubkey_map;
  @@ -1267,6 +1273,11 @@ static UniValue ProcessImport(CWallet * const pwallet, const UniValue& data, con
  pwallet->AddKeyOrigin(pubkey, key_orig_it->second);
  }
  pwallet->mapKeyMetadata[id].nCreateTime = timestamp;
  +
  + // Add to keypool only works with pubkeys
  + if (add_keypool) {
  + pwallet->AddKeypoolPubkey(pubkey, internal);
  + }
  }
  for (const CScript& script : script_pub_keys) {
  