Multiple FQAN handling improvement

Resolves #29.

These changes add logic to the blah parser so that when the split line is stored in a dictionary, only the values that do not already have a key in the dictionary are stored. This is so that only the first `userFQAN` is stored as this is the primary FQAN that should be used in accounting (rather than previously where the last one was used, which led to `VORole` usually being `Role=NULL` when there were multiple FQANs in a log line).

There's also unit tests for these blah log lines with multiple FQANs. :innocent:

This change would also affect other fields that have multiple occurrences (i.e. take the first one), though there shouldn't be other fields for which that is the case. :suspect: