Allow the algorithm to be specified by using a factory.
Need to implement solver for alloy compatibility.
Merge branch 'cgia-improvement-impl'

Conflicts:
	tests/kodkod/multiobjective/EndtoEnd/SolverSmallEndToEndTest.java