Refactor rules -> engine.

Before this change, we had the package rules with various
sub-packages, and a rules manager in the package.

.../rules
.../rules/actions
.../rules/conditions

Now we have an 'engine' package, which has multiple sub-packages.

.../engine
.../engine/rules
.../engine/actions
.../engine/conditions

This has no functional difference so far, but paves the way for other
concepts like 'properties' which are similar to rules, but not
identical. All of the concepts will be managed by the engine.