Added a UnimprovedTimeMillisSpendTermination

Added new termination configuration that will terminate the processing based on setting a maximum of time to pass in milliseconds since the best solution was found. Added a best solution found timestamp to the DefaultSolverScope, the necessary properties to actually configure this in the TerminationConfig, as well as the UnimprovedTimeMillisSpendTermination class to actually do the calculations etc.

Note: Geoffrey and I need to do further testing to see what the actual impact is of setting the best solution time in the DefaultSolverScope, even when the new property is not used.