Yet another closures capture fix

The previous implementation had two major flaws.

1. var references in a closure would all be turned into let. Only references captured shall be
transformed.

2. Assignment checkings did not propagate to child blocks, allowing code such as:

    let a = 1
    if true {
      a = 2
    }

Along the way I also added a trace of compilation problems in the tests suite Golo code loader.