Add support for aliasing clojure.core

While :refer, :exclude, and :rename lists for clojure.core are handled
by :refer-clojure, aliasing clojure.core is still handled in the
:require clause.

This is a valid tactic when replacing many vars from clojure.core from
another namespace:

    (ns my.ns
      (:require [clojure.core :as core]
                [my.clojure.impl :refer :all])
      (:refer-clojure :only []))
Move special handling of cljs.core to regrow/disambiguate

While 'clojure.core needs to special handling in both parsing
and emission because of :refer-clojure, removing cljs.core from
consideration should strictly be the job of regrow.
Fix some tests for disambiguate

Also clarify ranking functions with docstrings, even though they are
private.