An attempt at supporting byte[] as keys [IMMUTANT-302]

I'm not loving this due to its breakage of non-clojure clients and
extra type-check for every encode/decode of a key.

We could *maybe* move the ArrayKey class to polyglot to address the
former, and hopefully the latter has negligible impact.