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.

}
    catch (...) {
        result = DB_CORRUPT;
    }
    if (fNoncriticalErrors && result == DB_LOAD_OK)
        result = DB_NONCRITICAL_ERROR;
    
    
    if (result != DB_LOAD_OK)
        return result;
    LogPrintf("nFileVersion = %d\n", wss.nFileVersion);
    LogPrintf("Keys: %u plaintext, %u encrypted, %u w/ metadata, %u total\n",
           wss.nKeys, wss.nCKeys, wss.nKeyMeta, wss.nKeys + wss.nCKeys);
    
    if ((wss.nKeys + wss.nCKeys) != wss.nKeyMeta)
        pwallet->UpdateTimeFirstKey(1);
    BOOST_FOREACH(uint256 hash, wss.vWalletUpgrade)
        WriteTx(pwallet->mapWallet[hash]);
    
    if (wss.fIsEncrypted && (wss.nFileVersion == 40000 || wss.nFileVersion == 50000))
        return DB_NEED_REWRITE;
    if (wss.nFileVersion < CLIENT_VERSION) 
        WriteVersion(CLIENT_VERSION);
    if (wss.fAnyUnordered)
        result = pwallet->ReorderTransactions();
    pwallet->laccentries.clear();
    ListAccountCreditDebit("*", pwallet->laccentries);
    BOOST_FOREACH(CAccountingEntry& entry, pwallet->laccentries) {
        pwallet->wtxOrdered.insert(make_pair(entry.nOrderPos, CWallet::TxPair((CWalletTx*)0, &entry)));
    }