Fix bug in apply_fn releasing memory
Fix bug in apply_fn releasing memory

The list was released too early, before the function body
had its reference count incremented. If the function was
a lambda function then this released the function, leading
to odd behaviour

e.g. ((fn* [x] (+ 1 x)) 2)

foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal,foresterre/mal