Support aliases instead of fully qualified var references in macroexpansion

This patch adds support for showing namespace aliases in the macroexpansion instead of fully qualified names or no namespaces at all.

The functionality works, but what's missing so far is adapting the cider elisp part that eventually calls the macroexpansion middleware.  Basically, `cider-macroexpansion-suppress-namespaces` should allow the values `t` (no namespaces), `nil` (fully qualified names), and the symbol `aliases` (show aliases instead of qualified namespaces), and the value of the variable then has to be passed to the `macroexpansion` function in the middleware.

This patch implements the feature request from the cider issue https://github.com/clojure-emacs/cider/issues/685. It's probably affected by issue https://github.com/clojure-emacs/cider/issues/684 where the variable value of `cider-macroexpansion-suppress-namespaces` doesn't seem to have an effect, i.e., namespaces are always suppressed. (But maybe the parameter is passed wrongly?)