p.haul: use /usr/bin/env instead of /bin/env

Some systems don't have /bin/env. But most
systems have /usr/bin/env, so lets use it in
shabang.

Reported-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Reported-by: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com>
Acked-by: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
p.haul: explain how to prepare p.haul to work, v2

Currently our docs do not explain how to prepare p.haul to
work.

Reported-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
p.haul: do not use getsockname() as a hash_name, v6

Currently xem_rpc is not proxy-resistant.
It means that if there is a proxy somewhere in
between client and server, p.haul will fail,
because getsockname() on client != getpeername()
on server.

v2, Pavel suggested to solve it like this:

1. On main rpc socket after init_rpc() the server
   reports back the name by which it sees the client
   socket.

2. After calling connect() on data socket the client
   should mix the name from step 1 to the data socket
   name to distinguish his data socket from those
   created by other clients.

v3, use rpc to transfer socket name
v4, use init option in _make_sk
v5, do not use init option
v6, remove redundant "import struct"

Signed-off-by: Ruslan Kuprieiev <kupruser@gmail.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>