Make multiple let bindings (kind of) work.

```
dash> (letrec [$g=5] $g)
Just 5
dash> (letrec [$g=5 $h=3] $h)
Just 3
dash> (letrec [$g=5 $h=3] $g)
Just 5
```

But bindings that refer to other bindings cause an unproductive loop.

Signed-off-by: Ricky Elrod <ricky@elrod.me>