Better handling of exceptions while firing messages
Use the transport service specification constant instead of a string
Added logs to fire_group(), and corrected the "missing peers" trace
Moved the set converter for JSON to herald.utils

This method will be used in the HTTP transport too.
The XMPP directory component is automatically instantiated

It doesn't require any configuration, so it is simplifies the Herald
initialization code.
The FACTORY_DIRECTORY constant has been removed from herald.xmpp to
avoid manual instantiation.
Added a pylint deactivation comment in Herald RPC
First implementation of the HTTP transport (working)

- Based on the 'requests' library
- Using blocking POST requests to send messages (responses are ignored)
- Using headers to provide metadata, and the request body for the
message content (in JSON)
- A multicast probe is used to discover neighbours (instantiation
required)
- Unlinke the XMPP, the HTTP transport is split in two parts: sender
(transport, auto-instantiated) and receiver (servlet,
manually-instantiated).
Added a run_http.py sample script

- Renamed main.py to run_xmpp.py