Clean up clj1098 (`reduce-kv`) stuff
Clean up `as-map` contract for consistency with other `as-<x>` fns
BREAKING: faster `swap-in!`, `reset-in!` + add bulk atomic update support to both

Breaks previous (`apply`) multi-arity versions of `swap-in!`. The `apply` arity was
originally there for consistency with Clojure core's `swap!` but the new use is (far)
more valuable.
Allow atomic bulk `swap-in!`, `reset-in!` to behave as each other via per-ks metdata
v1.9.0