Transform/extension methods

New phase ported: extension methods
Lazy val's aren't actually idempotent.

```
scala> import util._; object O { lazy val foo = { println("!!"); ??? } }; Try(O.foo); Try(O.foo); ""
!!
!!
import util._
defined object O
res0: String = ""
```