adderall.internal: Reify cons cells when unifying with an LVar

For constructs such as (=ᵒ (cons x y) q) to work, we need to look deeper
into cons cells when calling extend. The newly introduced
cons-substitute function does just that.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
tests: More Reasoned Schemer tests

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
adderall.dsl: Implement nilᵒ

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