Store current light levels in Redis, badly
Use more of a Hierarchical State Machine pattern.

This is almost a proper Hierarchical State Machine, but transitioning between morning, evening and night
states is not done 'at the right moment', but at the moment that an event is handled.

This is less pretty, but it saves me the trouble of ensuring that the code runs at the right moment every
day.

There is still an issue that a null is bubbled up when a transition cannot be found (in this case, when
the event is not recognized). In practice, it doesn't really do anything (since a corresponding Programe
cannot be found), but it is not really exemplary code. Maybe it should raise Exceptions.
Remove the concept of the 'currentStateMachine' from NextProgrammeChooser since it is always recalculated anyway.

Note: Due to some rebasing stuff, the tests do not work yet.
Extract a TimeService class and fix tests.
Convert to CoffeeScript
Replace classy with standard CoffeeScript class definitions and improve readability
Improve test readability
Improve some more readability
Use Winston for logging
Enable logging to file and clean up logger code.
Merge branch 'incoming_coffeescript'
Merge branch 'create_logging_module'