Dino Dex First Refactor

Let me know when you have a few minutes.  I want to go over a few of the questions you had which I haven't yet done anything with.
Thanks for this.  It doesn't quite work because normalize_value takes two arguments, one of which is the results of normalize_key.  I will see if I can work something similar.