Fix/Refactor
Fix/Refactor

Fix cases where corner cases of available coins could lead to incorrect
results (e.g. Change(listOf(4, 5)).issue(8) would lead to an exception
instead of the correct listOf(4, 4)). To do this we need to remove the
condition for the second recursion, making the recursive version
infeasible. Therefore change the algorithm to a memoized one, with
effectively linear complexity.

Bugfry/exercism,Bugfry/exercises,Bugfry/exercises,Bugfry/exercises,Bugfry/exercism,Bugfry/exercism,Bugfry/exercism,Bugfry/exercism,Bugfry/exercises,Bugfry/exercism,Bugfry/exercises,Bugfry/exercises