quote interpolated values of type String that are substituted

strings are not quoted, and they need to be when being substituted into Clojure data
override equals, hashCode, and toString for AbstractQuery

can’t have an abstract value class, but we can still make it behave as one
Merge pull request #107 from pellucidanalytics/fix/macro-string-quote

Fix query interpolation for expressions of type String