hydiomatic.macros: Simplify defrules

With this change, defrules will natively understand two styles of rules:

 [[fresh-vars] `(pattern) `(substitute)]

...and:

 [(some-expression ...)]

If the first value in the rule definition is a HyExpression, the rule
will be returned as-is. Otherwise, it will be treated as if the contents
were parameters for the old (rule) function. The old (rule) function is
gone, and is replaced by a new one used by the defrules macro
internally.

Signed-off-by: Gergely Nagy <algernon@balabit.hu>