Experimental support for multi-homed setups.

Design is kinda of a hack, but it seems still the best solution, a T_A
resource record now has the option to have addr as INADDR_ANY, if that
is the case, whenever we send that RR out of an interface, the correct
interface address will be patched onto the RR and then restored.
rr_rdata_cmp() now also needs to be smarter to take this into account.

With this solution we have:
	* Conflict resolution is mostly the same.
	* We don't need a rr for every interface, therefore we don't
need a different service for every interface.
	* Can still use the same myname for all interfaces.
	* An uglier code.
	* We have to republish all services whenever an interface comes
up and down, including the addresses (shouldn't be a major issue),
untested.
	* One pge for all primary addresses, instead of one per address.

Also some minor improvements.
We need to patch the record on a service as well, just like control_send_rr.
Cleanup the get_prim_a() mess, this is the most stupid thing evah, now
that we have a better way to patch the local address, things get
simpler, since it is always the same RR when including the primary
address.

No functional changes.
Make sure counter is updated, this is kinda ugly.
Whoops
Kill this fucking stupid pkt_send API and replace it for one that
doesn't suck ballz.

We now have pkt_send() and pkt_sendto(), sendto must be used when we're
sending a legacy unicast response.

Also make consistent use of ALL_IFACE and fix wrong comment on pge_fsm().

Should be easy to make pge announce itself on a single interface now.
Fix wrong comparison for RR_INADDRANY in rr_rdata_cmp().

Thanks to Alexander Gordeev for the fix.
Add .gitignore
Include <sys/tree.h>, from jca@
Adjust copyright and mkbuild