@saleem's solution for the Tire Pressure Monitoring System, with commit-by-commit details on how the design evolved

This is Saleem Siddiqui's (@saleem) first attempt at adding Junit tests for the Tire Pressure Monitoring System exercise.

Along the way, the "business" code was also refactored. An interface (ISensor) was added and the internal structure of Alarm was changed, without changing its behavior.