coroutine_observable inherits from observer privately
remove the confusing coro() method from coroutine
silence several VC++ sign warnings
add on_first observable that executes a callback for the first element and then stops
disable tests for coroutine self destruction because there is a bug that makes them crash on Windows