Rework RulesEngine to use _DailyHelper and _WatchHelper (not interval yet)

Heavily reworked rules engine testing to be able to test daily rules.
Add pyflakes for verifying code.

Add the new Makefile target 'flake' to run pyflakes.
Add pyflakes to the packages installed.

Fix problems found with pyflakes.

Tweak setup_virtualenv to install pyflakes, and use pip to install pytz
again (now that it works again).
Add _IntervalHelper to rules engine.

Add _IntervalHelper to rules engine to handle Interval rules. Create matching
unittests.

All rules are not based on the _RuleHelper class, so all rules can not be
started and stopped. This finishes the prep work required to be able to
watch for changes to rules definitions and adjust the rules dynamically.
Improve test_rules_engine to use iterable fixed clock times.

Instead of having the clock be a single fixed time that never appears to
change, use iterables of times. Also, adjust all test cases to run within
the 0.01 delays, so that test run faster.