support of async expression inside well-known higth-order functions
- added support for select.timeout construct
- added support for lifting-up await in hight-order functions.
ie in simplicified explanation:
for(x <- 1 to n) { s += read(x) }
is translated to
1.to(n).foreachAsync { async(s += await(aread(x))) }
details can be found in techreport: https://arxiv.org/abs/1611.00602
- added support for select.fold construct
- scala 2.12