Fix many issues related to web-interface
Fix issues with phantom variables showing up in synthesis.

Previously if the choose was in the following context:

```
a match {
    case Cons(h, t) =>
    case _ =>
        choose()
}
```

its path condition would include:

```
!(a.isInstanceOf[Cons] && a.head == h && a.tail == t)
```

which causes mostly unconstrained variables `h` and `t` to show up in the
synthesis problem.
Inform the reporter of the compilation progress
Fix liftClosures to not introduce name-clashing functions at the toplevel
Improve timers collection, usage and display
TEGIS or test-only CEGIS, using bonsai for tree generation
Update bonsai
Add :: to List API
Remove no-warnings requirement from eval. test
Update Eclipse instructions
Add missing copyright notices
Introduce compilation units
Systematic treatment of Identifier/Definition owners
Introduce imports and packages. Introduce DefOps
Print full paths
Print units in separate files
Support for standalone objects
Support for looking up Definitions
Tests for Imports and DefOps
Handle imports during MethodLifting/RestoreMethods