changes for part III of blog post
Introduce concurrency primitives, remove some warnings in libraries
wait, notify and notifyAll for String
java.lang.Thread, and Control.Concurrent
introduce java.util, add MVar to Control.Concurrent