support = on strings
add not=
define not earlier

to be able to use it in not=. the definition order is a problem in
general, how does clojure handle that? (constraint solving? :)
add contains?

for vectors and maps (and to sets once they're merged). this adds a
new protocol method -contains-key to IAssociative.
implement -eq for maps
add some simple tests for map equality
try fixing -eq on maps
fix compilation
implement -eq for vectors
use satisfies? instead of the old instance?
fix set literals

the NativeFn interface changed from _invoke to invoke, i think.
implement -contains-key on sets
make next always return nil on empty collections

this wasn't the case when we had a seqable that didn't return nil
by itself.

this is a bit different from clojure because our collections don't
always return nil themselves. we need to take a closer look at this,
though.
implement -eq on sets
extend -eq to ISeqables

i'd rather not expose -seq-eq, but it seems that we can't extend
protocols from rpython yet.
implement -eq on chars
move superfluous print
allow using maps and sets as functions as well
add tests for keywords, maps and sets as functions
make -eq on maps more general

as suggested by @halgari. it now supports anything that implements IMap
and is implemented in pixie itself, not in rpython.