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
Move the boundary finding to its own method
Multithreaded boundary finding WIP. Put objectives into a shared concurrent queue
Finish multithreaded boundary finding
Change arg in IGIA's incrementStats to false, since it's not the first solve
Use an incremental solver in PartitionedGIA
Switch back to IGIA since PartitionedGIA isn't better or done yet
Merge pull request #31 from TeamAmalgam/amalgam-bounded-gia

Bounded Guided Improvement Algorithm. Fixes #25