-Working version.
-Supporting MotionSensor.  Redesiged Sensor class into multiple: AbstractSensor, Sensor (GPIO), FireSensor, and Motion Sensor.  It attempts to separate concerns.  Conceptually, it could be improved.  However, I'm unsure what kind of expansions we'll be doing.  It would make sense to add GPIOSensor and IntrusionSensor would inherit from this class.  It essentially means Sensor would be broken into 2 separate class.  TemperatureSensor could be useful to monitor temperature.