Dino catalog-msabdeljalil V2

Version 2, after Joe Mastey review
The method `assign_period` does not in fact assign the period. Pick a better name. Also, double assignment here is still weird. Finally, this (and diet) still both suffer from breaking if I do `dino.diet = "Foo"`