Instead of lifting intermediate cells inside formulas, references
to cells are hoisted out and the entire expression wrapped in an
anon fn and that is lifted.
Add defc and defc= macros.
Use @cemerick cljs.test for testing.
Attempt to fix console logging in phantom and headless ff.
Rewrite cell= and defc= macros.
Remove special handling of fn*.
Avoid creating anonymous cell in set-cell!= because memory leaks.
Unsupported specials are now down to just ns, def, deftype*, and
defrecord.