Cleaner namespaced keyword -> string conversion

Utilize the `clojure.core/namespace` function to get ns of a keyword for
string conversion. Very minimal, but avoids a intermediate string & substring
operation. Also gives docstring to explain why `name` isn't being used and
renames to something less clunky.
Use as-str in base-element for consistency
Merge branch 'as-str'