Test code

This includes the following.

* Substantial but frankly dull code restructuring. This involved writing little or no actual code; it amounted to moving the `iptables` code into one place so it could be stubbed out.

* Adding a couple of test scripts. These test the Config module (which has been modified so that it can be more easily tested), and do a sanity check start then terminate which creates the `FelixAgent`.

Still to do is the following.

* Stubbing out of the various calls to set up IP routes etc.

* Stubbing out the `0MQ` interface.

* Getting  a sensible level of coverage