There are a few places where pathological problems may result in infinite loops.
For example, pyscat.function_evaluator.FunctionEvaluator.single_random and pyscat.refset.RefSet.prune_too_close.
Add some hyperparameter for the maximum number of retries to prevent infinite loops.
Related to #34.