WIP: Multiplex impl and tests, broadcast

- Need good plan for what to do with multiplexed closed channels
- Broadcast needs much more impl
Initial lab work on multiplexing
Merge branch 'master' of github.com:clojure/core.async into multicast

Conflicts:
	src/clj/clojure/core/async.clj
Flag WIP in lab.clj
Pull common named thread factory code out into new concurrent.clj
Move lab_test to mirror test restructuring

Commenting out the lab test as it's no longer completing successfully, will replace when it's fixed but shouldn't block other work
Merge branch 'master' of github.com:clojure/core.async
split out some cljs tests, fixed some compile errors, basic alt tests
merge from master