(5) - Added safety net

FactoryComplex.show_stats() is safe from empty list.
(5) - Clean ups & Safety Nets

Revised for loops, added safety net for find_smallest_factory..()