This function deletes a previously defined defrule.
Syntax
(undefrule <defrule-name>)
If the defrule is in use (for example if it is firing), then the
deletion will fail. If the symbol * is used for <defrule-name>,
then all defrule will be deleted (unless there is a defrule named
*). This function has no return value.