Use cljx, port js collection types.
Add hashing for cljs types.

Fix sha-1 encoding to behave similar to the JVM by encoding bytes in JVM
byte format [-128,127] vs. [0,256] in js. Unify character and string
types for javascript. Fix date and UUID type. Unicode behaviour on JS is
still different from JVM byte encoding.