improved dev/prod configuration

generate seperate source directories for code needed to config dev and
prod builds. prod builds now simply invoke the app's main entry
point. dev builds setup figwheel and weasel - figwheel is configured to
call the main entry point on refresh - Om root is idempotent so this
just works. This remove the invasive change to the root component the
previous refreshing strategy had.

Bump to ClojureScript 2371 which fixes Weasel.
Do we still need this explicit dependency on `core.async`?