portability clj/cljs, namespace splits and lots of fixes and additions