Try to make RCursor a bit more efficient and flexible

It now avoids unnecessary re-renderings, by comparing equality
with all its arguments, and by using a Reaction to filter out
only the changes that affects its value.

This also adds an optional setter callback, that is called instead
updating the parent atom directly.
Add Wrapper, a [value callback] combo that looks like an atom
Update cursor test
Add wrap and new cursor functionality to core.cljs
Add some docs and assert
Add equality test for cursor
Add test for wrap
Merge branch 'morecursor'
Reorganize build, tests and doc site

Tests and doc site can now run without node, using only
"lein figwheel". Tests and site are then re-run automatically
whenever a source file changes.

The doc site is now generated into "outsite/public", and can be
copied into the "gh-pages" branch with "make build-gh-pages".

"make push-gh-pages" builds the doc site and pushes it upstream
to the gh-pages branch there.

Generation of html pages is now handled completely in
ClojureScript, loaded from "bin/gen-site.js".

Link handling is a bit simplified.
Fix site-generation and simplify title setting
Got site generation and tests working with advanced compilation
Make sure index.html is in git
Really make advanced mode tests work
Add a build note to index.html
Tweak site-building

Allow files in outsite to be opened directly