Round out baseline implementatin of gershwin.core

By no means does this include everything needed in gershwin.core, but it represents a critical mass of features ported from clojure.core. Notable exceptions include many macros, many Java-interop functions, and struct maps.