ThreeScaleReport.encode_transactions should be able to take an iterable

As far as I can tell there is no need for the argument to `ThreeScaleReport.encode_transactions` to be a list. It just gets iterated over. This caused problems for me when I tried to pass a tuple. This pull request replaces the check for a list with a check for an iterable.