Major refactoring
Major refactoring

Uses independent components for loading data and printing results
Remove use of global dictionaries and lists (excepto for statistics)
Extended use of exceptions for control flow

pabloriutort/DRAM-Simulator