Create clojurescript.core.async.cljs

using core.async go and channels. Works in browser
use $! for strictness instead of bang patterns
use $! for result channel
remove parenthesis un-needed with dollar operator
attempt at an erlang version
change signature to pattern matching
don't use non-safe retrieve (`b!!`), check for null instead

kotlin compiler knows if you have checked a maybe type for null. Once you have checked there is no need for safe retrieve method like `a?.plus()` or casting
add random sleeps to randomise order
Create concur-es6-csp.js

Go style csp using es6 generators.

See http://swannodette.github.io/2013/08/24/es6-generators-and-csp/
Update concur-es6-csp.js
Add sleep state to state machine, timeouts to the workers to prove concurrency

Now each run can have different orders:
```js
> concur()
undefined
20 + 40 + 70 = 130 
> concur()
40 + 20 + 70 = 130
> concur()
undefined
70 + 20 + 40 = 130
> concur()
20 + 40 + 70 = 130
```
Update concur-es6-csp.js
Update clojurescript.core.async.cljs

cljsfiddle link
added par monad example from haskell -- it's PURE
Addition of FreeBasic example.
Moved file