implement `-seq`, `keys` and `vals` on PersistentHashMap
implement initial support for sets

using maps internally, as clojure's sets do. it's rather simple,
actually, but also quite surprising...
implement set literals

this was surprisingly hard, especially the compiler bit. it turned out
to be rather simple, but maybe there's a better way to do it.
Merge pull request #28 from heyLu/set-support

Support for sets