CLJS-812: Recurring from a case statement emits invalid JavaScript

`case*` in analyzer was incorrectly handled, `thens` and `defaults`
needed to analyzed in the same environment as the `case*` expr
itself. In the compiler only handle the `:expr` case where we need to
wrap in a JS function. Add the failing case provided by Luke VanderHart.
add changes.md update README
support optimized case on chars
Clear function from Delays when realized.
CLJS-816: clojure.set/rename-keys accidentally deletes keys when there's a collision.
CLJS-816 tests
Merge branch 'master' into 1.6.0