improve s.async.ioloop()
add a test for the normal invocation of s.web.app