servers/net: Make DHCP client more RFC 2131 compliant

 * The client should enter state REBINDING only when RENEWING times
   out.
 * When in RENEWING or REBINDING state do not give up retrying
   unless the lease expires.
 * Fix bug sending 2^n DHCP requests at n-th lease renewal.
 * Use timeout values and renewal/rebinding times suggested by the
   RFC.
 * Use different XIDs in subsequent transactions.