Changed the method MetricSearch#get_cost_vector to #get_candidate list.
This seemed list a more useful name, as it does indeed return a list of candidates.
Note that the get_candidate method can also be overridden, defining a specific way of ordering and selecting the candidates.
Next step: allow get_candidate to store the sorted candidate_list in a variable that is persistent from iteration to iteration. This will allow us to avoid calling the search function repeatedly to order the list, when nothing has been changed.