Solved problem 106.  fixed a small bug in problem 103 that still allowed the correct answer to be produced.  updated CommonPy to include function documentation where my memory was refreshed from looking at 103, 105, and 106.