Added message propagation throughout the cluster.

Once received, replies are scanned in order and first sucessful message (structured `{ok, Reply}`) is selected. If no successful messages were received, the last reply is selected. If no replies were received at all, Hive reports an error.
Added cluster config validation.

It turns out that `net_kernel` is a load of Bad Things.
Updated the documentation.
Merge branch 'idorobots/distribution' into idorobots/distributed-chat