Dino catalog

Basic CLI application as solution for dinodex exercise. @bwthomas how do I go about having it reviewed? 
Ah ... you wanted to handle the nil case first so you didn't need to check below. I think there's probably a better way to do that ... for instance, break this logic into a function and just return if fval is nil. It's probably best to do that anyway, as this logic is a little involved to be specifying it here.