Implement PersistentQueue

This is necessary for implementing [Agent](https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/Agent.java#L27).