Fix LetRecs that depend on each other.

This all works now:

```
dash> (letrec [$x=3 $y=$x] $y)
Just 3
dash> (letrec [$x=3 $y=$x] $x)
Just 3
dash> (letrec [$x=3 $y=$x] $xid)
Nothing
dash> (letrec [$x=3 $y=999] $xid)
Nothing
dash> (letrec [$x=3 $y=999] $y)
Just 999
dash> (letrec [$x=3 $y=999] $x)
Just 3
```

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