Factor argument replacement logic out of @return_future
Add a Future-based interface to tornado.auth's twitter_request.

This allows new clients to receive exception messages from failed
requests, without breaking compatibility with existing callback-based
clients.
Add future interface to most of the rest of the auth module.

_oauth_get_user still uses callbacks internally, and I haven't
changed the old deprecated FacebookMixin.
Use the future interface internally for _oauth_get_user.

Added a new method _oauth_get_user_future because the old method was
de facto public for third-party auth plugins.