Convert upgrade to pass by ref
fix bugs from prev update
Pass objects to methods by reference
Start overhaul of file design

may overlap with previous commit.  New files not used in running code.
Character class and required associated classes created