Fix an additional four bugs in bridgdb.Bridges.parseExtraInfoFile().
Fix an additional four bugs in bridgdb.Bridges.parseExtraInfoFile().

In addition to the one-character bug for #12932 which was fixed in
commit 487c1b6c16e979bc448ddd415364e28bd764d29a, there were an
additional four bugs in the legacy parser,
`bridgedb.Bridges.parseExtraInfoFile()` (which I am about to deprecate
anyway for #9380):

       # get the transport line
       if ID and line.startswith("transport "):
           fields = line[10:].split()
           # [ arglist ] field, optional
           if len(fields) >= 3:
               arglist = fields[2:]               # BUGS 1 and 2
               # parse arglist [k=v,...k=v] as argdict {k:v,...,k:v}
               argdict = {}
               for arg in arglist:
                   try: k,v = arg.split('=')      # BUG 3
                   except ValueError: continue    # BUG 4
                   argdict[k] = v
                   logging.debug("  Parsing Argument: %s: %s", k, v)

  BUG 1: This assumes the PT arguments are space-separated in the
         extrainfo descriptor. They are not; they are comma-separated.

  BUG 2: This would result in parsing the entire, comma-separated group
         of PT arguments into:

             {"key1": "a,key2=b,key3=c"}

  BUG 3: This would produce a ValueError, because there's more than one
         '=' character. (Meaning that the whole set of arguments would
         be discarded due to Bug #4.)

  BUG 4: The whole set of arguments gets discarded, without even so much
         as a log message, if there was more than one argument.

These are all bug fixes on a single commit,
4300329a30f3b6aa3e390b140193dd50faa6e03f, from #4568. And I'm still
deprecating the entire function anyway (for #9380) because the rest of
it is likely just as full of bugs.

 * FIXES #12932 https://bugs.torproject.org/12932

pagea/bridgedb,pagea/bridgedb