Backported HeartbeatInterceptor from master.

Uses AsyncIOInterceptor instead of AsyncIOInterceptorAdapter because the latter isn't available in atmosphere-1.0.x.
HeartbeatInterceptor: Force use of AsyncIOWriter.

Without forcing AsyncIOWriter to be used only the first heartbeat is sent when using SSE.