Added the Z3 bindings to libs.
Added the Z3 library as a classpath dependency.
Added a wrapper for Z3.
Some simple test cases for the Z3 wrapper.
Add Z3 being available as a precondition for the tests.
Need to fail availability check on missing class def.
Added a more complicated 3 variable test for Z3.
Add an incremental test and cleanup another test.
Added tests for error behaviour.
Added some information about getting Z3 to work.
Copy and paste GIA as template for BoundedGuidedImprovementAlgorithm.
First attempt at BGIA. Push out to the boundaries, and then add them to the constraints
Merge branch 'master' into amalgam-bounded-gia
Updated BoundedGuidedImprovementAlgorithm to work with refactored MultiObjectiveAlgorithm
Rename BoundedGuidedImprovementAlgorithm

to PartitionedGuidedImprovementAlgorithm.

The boundaries are only a small part in the overall
'PartitionedGuidedImprovementAlgorithm'
Removed unused imports in unit tests
Add end-to-end test for PartitionedGIA
Reuse the starting solution to find the boundaries in all dimensions, instead of throwing a new dart for each dimension
Use an incremental solver to find the boundaries
Don't need to explicitly AND boundaryConstraint with the problem constraint, since the incremental solver already does this