updated IToggleSwitchState
Now it has a property called Power which returns an enum that can be on or off.  I updated the dependent code, which lead to cleaning some things up.
refactored the BuildStatus Device extension method.
Now it's an extension method on IDeviceStatus, so it can be used in more contexts.
cleaned up IDeviceEvent
Now it just takes an IDeviceState, rather than the individual states.  This simplifies creation of DeviceEvent objects a lot, and it also means that the Describe extension method on IDeviceState can be used to describe the state of the device at the time of the event.