EnumerationSolver/Portfolio extends Incremental+Assumption

This allows us to use them in synthesis. Expose --solvers=..
option for synthesis.
Allow testing specifying options, add test for enum solver
Improve types, support ???[T] as all-seeing choose

- Holes become chooses

- Unhandled types are removed, Untyped is now checked for and
  a warning is issued if an untyped expression is found.
Add rule for splitting ifs in predicates
Disambiguate for direct use within Play
Fix positions of holes and resulting chooses
Indirection for inlining to prevent duplicate clauses being issued to Z3
Move condition abduction to a feature branch
Make vanuatoo more resilient to non-patternable Exprs
Update SynthesisRegressionSuite with TypingPhase
List.:: added in library
Update project options, partly for Eclipse
MethodLifting compatible with Scala-legal printing
Bug fix in CodeGeneration
Support for internal errors
Make testing compatible with Eclipse + ScalaTest
File output, and noop option to do only that
Extract all standalone defs into one module
Correctly extract non-integer +, - etc.
Improve FunDef.duplicate. FunDef.copyContentFrom