rules/control-structᵒ: Add a (let [...] (do ...)) => (let [...] ...) rule

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
rules/control-structᵒ: Add a loop => while rule

If we see a binding-less loop with recur, turn it into a while loop
instead.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
rules/control-structᵒ: Add another loop simplification rule

We do not need (do) immediately within a (loop) construct.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>