network.MITM: Catch any errors raised by scapy.send()

This is necessary because there seems to be a problem when we try to use
scapy in a multithreaded environment, presumably due to resource locks.

A much neater fix to this would be to synchronise the two threads created
by an attack so that they never execute scapy.send() at the same time. A
problem we'd have by trying to tackle the issue this way is that when the
application has many attacks going on, we'd need to synchronise all of
them.
fixup! core/control.py: Use `network.MITM` in order to take control over devices