Allow dereferencing of Agent values while updating

ensure only one update is running
Make Agent work with ImmediateExecutor
whitespace
Add support for await as in Clojure
Extract OneByOne behavior from Agent

it can be also later used for Actors
Run Actors in pool do not spawn Thread per Actor
Merge pull request #66 from pitr-ch/actor

Actor improvements