Include hostname in default clientid

Amateur mistake, should have learnt this from mosquitto :)
swarm: Allow parallel publishing

For the included vagrant config:

fab -a -i /home/<your-username>/.vagrant.d/insecure_private_key -u vagrant -H
192.168.5.201,192.168.5.202 publish:192.168.5.1

Will run malaria publish on each of the bees targetting the host.
fabtools and fabric don't have sufficiently awesome support for multiple
vagrantboxes at this point in time.
swarm: rudimentary support for fedora/redhat workers

Doesn't behave very well for deploy however, the pip requires lines have
problems
swarm: basic support for swarm vs target, all remote

First, set up a listener:
fab -H target_machine listen:localhost

Then, run the vagrant swarm against it
fab -a -i /home/<user-name>/.vagrant.d/insecure_private_key -u vagrant -H
192.168.5.201,192.168.5.202 publish:target_machine

The parameters for the tests are simplistic and hardcoded at present :(
disconnect cleanly

This makes the mosquitto broker log the same "clean" disconnects as
mosquitto_pub/sub do.  Not entirely sure what loop_stop() should be used
for.
[swarm] replace monolithic publish/subscribe with modal

instead of "fab publish" doing a complete deploy, publish and cleanup,
you can run
"fab up" "fab attack" [one or more times] and "fab down"

The servers only need to be specified at "up" time, (how does this work
for listen?!)
Draft support for configurable warheads

This works ok for the publisher side, but it's difficult to
automatically set up a corresponding subscribe side without knowing how
many machines the warhead will be running on.