MSRPChat: make sure we cannot be in dangling state, regardless of where an exception happened

darcs-hash:20090401112250-b2873-45726bf22574b7026d3e42176e83c53113215776
MSRPChat: after start, send each queued message in a separate greenlet

- so that error in one does not affect others

darcs-hash:20090401112614-b2873-4f22d030a5506a47f4799452448cc32d69549c5c