rename IO into UnsafeIO

I know this introduces more breaking changes.

Rationale:

Bugreports like #185 a.k.a. (the forever-"bug") are issued by many people who expect
haskell-like behavior of IO which is not the case.

This patch proposes a more obvious name for IO and should point people gently 
into the direction of safer solutions for IO (e.g. Effects).

If people wish for an IO Monad they can build it on top of UnsafeIO.