Add lazy-monad (using clojure delay).

Pending: transformer. (will go in separated pr)

Now ready to review and merge. It works like state monad, always return delay instance and dereferencing it executes all computations.
It allows lazy composition of computations.

I see, this can be executed after the dynamic binding of *context*.