This improves compatibility with asyncio, but required small tweaks to
various tests due to changes in callback timing (asyncio future
callbacks are always scheduled for the next IOLoop iteration)
concurrent: Always schedule Future callbacks on the IOLoop
Make the python 2/tornado-specific Future implementation more
consistent with asyncio's.