Multiple NMU implementation

'nmupp' now handles multiple NMUs. To accompish this, I moved the
memory system creation and destruction in a top level class called
MemoryFactory. The main file now reads in the number of NMUs to model
and randomly places them. 'mem_accesses.py' now also is starting to be
aware to each NMU separately. More work needs to be done to separate
the sequence of events. I also think the script should create graphs
using matplotlib.