Prefer candidates where last segment matches

Given the ns body:

        (ns foo)

        (string/join …)

Return the ns form:

        (ns foo
          (:require [clojure.string :as string]))

Before this, [clojure.set :as string] would take precedence since
clojure.set has a var named 'join, and "clojure.set" is shorter than
"clojure.string"

The next step to divining the user's intentions is to match functions by
arity, but even that may be going a step too far.