Added multiple dataset functionality for all solvers

Multiple datasets can now be used by the IOC method to compute the
unknown objective function. This is helpful when weights are non-unique.