Remove implicit `mget` functionality for multi-part keys on `get` and `set`

First iteration of `get` accepted a list of keys and acted similar to
`mget`. This has been removed in favor of keeping the public API similar to the
Redis API: `get` only accepts a single key, and eventually will add `mget` as a
separate function.

The `get` and `set` calls also accept "key parts" now. These are lists of parts
of a key, which are joined using the ":" (colon) character. e.g. `get([foo,
bar])` is equivalent to `get("foo:bar")`. This makes it easier to build dynamic
keys based on input data.