Added printer skeleton, and singleton hints.
Added flyweight hints.
Added compaction hints.
Merge branch 'lab2'