Derivation data explanation?
Hi, I have been playing around with this and it is an excellent tool that is easy to use. I am still learning about HD key generation and I hope you can help me clear up a couple things that look confusing when I print the derivation data for nist256p1 keys. I apologize in advance if the explanations are obvious! I would be very happy with a link to somewhere the answers to my questions are explained.

Below is the code I'm using, which I modified only slightly from [this example](https://github.com/ebellocchia/bip_utils/blob/master/examples/bip32_slip10_nist256p1.py).

```
"""Example of keys derivation using BIP32 (nist256p1 curve)."""
from bip_utils import (
    Bip32Slip10Nist256p1, Bip39MnemonicGenerator, Bip39SeedGenerator, 
    Bip39WordsNum)

# Generate random mnemonic
mnemonic = Bip39MnemonicGenerator().FromWordsNumber(Bip39WordsNum.WORDS_NUM_24)

# Generate seed from mnemonic
seed_bytes = Bip39SeedGenerator(mnemonic).Generate()

# Construct from seed, using nist256p1 curve for key derivation
bip32_mst_ctx = Bip32Slip10Nist256p1.FromSeed(seed_bytes)

# master derivation data
print('Master derivation data')
print('depth:', bip32_mst_ctx.Depth().ToInt())
print('is master:', bip32_mst_ctx.FingerPrint().IsMasterKey())
print('fingerprint:', str(bip32_mst_ctx.FingerPrint()))
print('parent is master:', bip32_mst_ctx.ParentFingerPrint().IsMasterKey())
print('parent fingerprint:', str(bip32_mst_ctx.ParentFingerPrint()))
print('\n')

# Derive a path
bip32_der_ctx = bip32_mst_ctx.DerivePath("m/44'/888'/0'/0/0")

# child derivation data
print('Child derivation data')
print('depth:', bip32_der_ctx.Depth().ToInt())
print('is master:', bip32_der_ctx.FingerPrint().IsMasterKey())
print('fingerprint:', str(bip32_der_ctx.FingerPrint()))
print('parent is master:', bip32_der_ctx.ParentFingerPrint().IsMasterKey())
print('parent fingerprint:', str(bip32_der_ctx.ParentFingerPrint()))
```

Here is example output:
```
Master derivation data
depth: 0
is master: False
fingerprint: f414e809
parent is master: True
parent fingerprint: 00000000


Child derivation data
depth: 5
is master: False
fingerprint: a8557683
parent is master: False
parent fingerprint: b48c04f1
``` 

Questions about the output:
* Why does the child have a depth of 5 even though it is the first derivation? It looks like somehow I'm skipping multiple generations, but I don't know how or why.
* Why does the child's parent fingerprint not match the fingerprint of the key it was derived from? I expected this to match the fingerprint of what I thought was the parent key: `f414e809`. Again it seems as though keys have been skipped & I don't know where they are or if that is normal.
* Why does `bip32_mst_ctx.FingerPrint().IsMasterKey()` return false for the master key? Is this not actually the master key? If parent fingerprint is `00000000` then it doesn't look like it even has a parent, so I expected this to be true. Maybe "master key" actually refers to the seed phrase itself?

Thank you for your help!