Dino Catalog Exercise - Iteration 1

This iteration completes all the specifications except Extra Credit 1: allowing user to pass in a hash of search parameters. This feature will be completed in Iteration 2 after this review.

This is an interactive command line program that is initiated by running "ruby init.rb csv_filename" from the dino_catalog directory. The "csv_filename" argument is optional; if it is not passed in, the program will ask the user to enter it after initialization.

The main drivers of the program are the following files: init.rb; app.rb; catalog.rb; and dinosaur.rb. The init.rb file launches an instance of the App class. The App class creates a Catalog instance, consisting of Dinosaur objects. User input and processing of the search filters is handled by the App class with a number of modules (filters.rb; user_processing.rb; and user_prompts.rb). The print functionality is handled by the display.rb module and the JSON export feature is handled by the json_export.rb module.

Note there is a option_parser.rb file that will be implemented in Iteration 2 to allow the user to pass in search parameters on the command line. This file is commented out.
Use SCREAMING_SNAKE_CASE for constants.