Clojure's core.logic version

Note sure why, but the generation of positive patterns and non-empty data is relatively fast (up to a dozen or so), unlike in Scheme. The Clojure version still has the same issue with the harder literal match.