Refactored the logging/output methods and added wrapper.

Created a new abstract class DataContainer above SeqLib, Selection, and
Experiment. This class holds all the logging, filtering, and output
functionality.

Added a “real” wrapper script that can detect what type of data
structure is required based on the JSON file.