Implement IOStream.start_tls to convert an IOStream to an SSLIOStream.
TCPClient: connect without SSL and wrap the connection later.

This prevents us from potentially starting two SSL handshakes
at the same time.
Add a future-based alternative to gen.Multi to avoid stack_context overhead.
Skip dual-stack ipv4/ipv6 tests on travis.

These tests occasionally fail (they bind to an unused ipv6 port but cannot
bind that same port on ipv4), and I'm not sure how to fix/workaround.
Update maint/requirements.txt versions.

Everything but autopep8, which seems to have trouble installing on py27.
Switch to python 3.4 for maint/requirements.txt.
Pyflakes cleanup.

Includes real python3 bugfixes for tornado.auth.FacebookMixin and
tornado.platform.twisted.
Bump required autopep8 version.

This version can be installed on py3 but was having problems on py2.
Autopep8 formatting updates.
Add TwistedIOLoop test on python 3 to tox and travis.