When importing a watch-only address over `importmulti` with a specific timestamp, the wallet's `nTimeFirstKey` will be set to 1.
I think we should add a optional timestamp to `CWallet::AddWatchOnly()` and use it when importing addresses or pubkeys.

bool IsHDEnabled();
    
    CPubKey GenerateNewHDMasterKey();
    
    
    bool SetHDMasterKey(const CPubKey& key);
};
class CReserveKey : public CReserveScript
{
protected:
    CWallet* pwallet;
    int64_t nIndex;
    CPubKey vchPubKey;
public:
    CReserveKey(CWallet* pwalletIn)
    {
        nIndex = -1;
        pwallet = pwalletIn;
    }
    ~CReserveKey()