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.

{
        return (GetDebit(filter) > 0);
    }
    
    bool IsEquivalentTo(const CWalletTx& tx) const;
    bool InMempool() const;
    bool IsTrusted() const;
    int64_t GetTxTime() const;
    int GetRequestCount() const;
    bool RelayWalletTransaction(CConnman* connman);
    std::set<uint256> GetConflicts() const;
};
class COutput
{
public:
    const CWalletTx *tx;
    int i;
    int nDepth;
    bool fSpendable;
    bool fSolvable;
    COutput(const CWalletTx *txIn, int iIn, int nDepthIn, bool fSpendableIn, bool fSolvableIn)
    {
        tx = txIn; i = iIn; nDepth = nDepthIn; fSpendable = fSpendableIn; fSolvable = fSolvableIn;
    }
    std::string ToString() const;
};
class CWalletKey