Cannot (fully) restore Bip32Secp256k1 from Secp256k1PrivateKey
I'm trying restore a Bip32Secp256k1 context from a Secp256k1PrivateKey. This fails because the code does not restore the chain code and fingerprints correctly

```
mnemonic = "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about"
seed_bytes = Bip39SeedGenerator(mnemonic).Generate()

bip32_ctx1 = Bip32Secp256k1.FromSeedAndPath(seed_bytes, "m/44'/60'/0'/0")
bip32_prvkey1 = bip32_ctx1.PrivateKey()
bip32_pubkey1 = bip32_ctx1.PublicKey()

# Print other BIP32 data
print(bip32_ctx1.Index().ToInt())
print(bip32_ctx1.Depth().ToInt())
print(bip32_ctx1.ChainCode().ToHex())
print(bip32_ctx1.FingerPrint().IsMasterKey())
print(str(bip32_ctx1.FingerPrint()))
print(bip32_ctx1.ParentFingerPrint().IsMasterKey())
print(str(bip32_ctx1.ParentFingerPrint()))

secp256k1_prvkey = Secp256k1PrivateKey.FromBytes(bytes(bip32_prvkey1.Raw()))
assert bip32_prvkey1.Raw().ToHex() == secp256k1_prvkey.Raw().ToHex()

bip32_ctx2 = Bip32Secp256k1.FromPrivateKey(bytes(secp256k1_prvkey.Raw()))
bip32_ctx2 = bip32_ctx2.DerivePath("m/44'/60'/0'/0")
bip32_prvkey2 = bip32_ctx2.PrivateKey()
bip32_pubkey2 = bip32_ctx2.PublicKey()
# assert bip32_prvkey1.Raw().ToHex() == bip32_prvkey2.Raw().ToHex()
# assert bip32_pubkey1.RawCompressed().ToHex() == bip32_pubkey2.RawCompressed().ToHex()

# Print other BIP32 data
print()
print(bip32_ctx2.Index().ToInt())
print(bip32_ctx2.Depth().ToInt())
print(bip32_ctx2.ChainCode().ToHex())
print(bip32_ctx2.FingerPrint().IsMasterKey())
print(str(bip32_ctx2.FingerPrint()))
print(bip32_ctx2.ParentFingerPrint().IsMasterKey())
print(str(bip32_ctx2.ParentFingerPrint()))
```

Here the print output ...

```
0
4
c879d136f02003dc804811e42390714ea06448aeaee158c62d65f12a421d988f
False
e4389614
False
60b68b69

0
4
c7d5faabfe9e8aeb976a7bc1d65a64d6749c29243aac0d676e6f357ff0126c3d
False
4b89e1b1
False
8e9ef2a3
```

Is there a way to do this round-trip via Secp256k1PrivateKey, which I need for Bip38 encryption