Apparent race condition when recalculating relay priority

This causes sbws scanner to crash completely.

This might be the time to look into a better priority queue. Or maybe re-evaluate my reasoning for making a copy of all relays instead of giving them a priority attribute.

Traceback:

Traceback (most recent call last):
  File "/home/matt/src/simple-bw-scanner/venv-editable/bin/sbws", line 11, in <module>
    load_entry_point('sbws', 'console_scripts', 'sbws')()
  File "/home/matt/src/simple-bw-scanner/sbws/sbws.py", line 75, in main
    exit(comm['f'](*comm['a'], **comm['kw']))
  File "/home/matt/src/simple-bw-scanner/sbws/core/scanner.py", line 387, in main
    run_speedtest(args, conf)
  File "/home/matt/src/simple-bw-scanner/sbws/core/scanner.py", line 347, in run_speedtest
    for target in rp.best_priority():
  File "/home/matt/src/simple-bw-scanner/sbws/lib/relayprioritizer.py", line 49, in best_priority
    relays = set(copy.deepcopy(self.relay_list.relays))
  File "/home/matt/src/simple-bw-scanner/venv-editable/lib/python3.5/copy.py", line 155, in deepcopy
    y = copier(x, memo)
  File "/home/matt/src/simple-bw-scanner/venv-editable/lib/python3.5/copy.py", line 218, in _deepcopy_list
    y.append(deepcopy(a, memo))
  File "/home/matt/src/simple-bw-scanner/venv-editable/lib/python3.5/copy.py", line 182, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/home/matt/src/simple-bw-scanner/venv-editable/lib/python3.5/copy.py", line 297, in _reconstruct
    state = deepcopy(state, memo)
  File "/home/matt/src/simple-bw-scanner/venv-editable/lib/python3.5/copy.py", line 155, in deepcopy
    y = copier(x, memo)
  File "/home/matt/src/simple-bw-scanner/venv-editable/lib/python3.5/copy.py", line 243, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/home/matt/src/simple-bw-scanner/venv-editable/lib/python3.5/copy.py", line 182, in deepcopy
    y = _reconstruct(x, rv, 1, memo)
  File "/home/matt/src/simple-bw-scanner/venv-editable/lib/python3.5/copy.py", line 297, in _reconstruct
    state = deepcopy(state, memo)
  File "/home/matt/src/simple-bw-scanner/venv-editable/lib/python3.5/copy.py", line 155, in deepcopy
    y = copier(x, memo)
  File "/home/matt/src/simple-bw-scanner/venv-editable/lib/python3.5/copy.py", line 242, in _deepcopy_dict
    for key, value in x.items():
RuntimeError: dictionary changed size during iteration