Allow specifying the protocol to be used

Most often one will use HTTP, on any port. Yet, it may be necessary
to use HTTPS, such as in authenticated/authorized accesses.

Both positioning the new `protocol` argument in the end and using
`'http'` as it's default value guarantee backward compatibility.

Also, support all upcoming releases of tornado 3.2.* branch.