Skip network tests if machine isn't on a network

So, I tried running the tests this morning on the train and found out that some of the unit tests fail if your machine is not connected to the Internet. To reproduce, unplug wifi etc. and run the tests and they should fail - at least, on my Mac they do.

This PR adds a new `requires_network` decorator which should be used if the test
requires a connection to a network resource like TARPIT_HOST. Otherwise, the
unit tests fail when running on an isolated machine.