Fix transport URL parsing bug

Handle e.g. foo://u:p@/bar. Right now we get:

 IndexError: string index out of range

from:

     if hostname[0] == '[':

Change-Id: I0bccebb14ad1d37862955e8988d160240bd1cf6d