BREAKING: Allow `swap-in!` to return arbitrary values (faster + more flexible)

This allows `swap-in!` and derivatives to:
  * Exactly match `swap!`/`update-in` return values by default.
  * Specify an _arbitrary_ return value when desired.
  * Incur no unnecessary overhead for unused return values.

The third point is particularly notable since it means that `swap-in!` can now
more reasonably be used as a default `swap!` replacement since the additional
cost is negligible.

ALSO BREAKING: `korks` support has been dropped as misguided. It brought
ambiguity, and a performance hit for no real benefit.
v1.4.0
Add skeleton cljs macros ns