Turn assert into talloc check.

Which should get more information on error
Print how many requests are blocked

So that the admin can see the queue grow over time
Don't delete the request if it's in the queue

request_done() should WAIT if the request is blocked in the queue.

It should also be callable by the child thread.  i.e. if the
master says "DONE" when it's in the queue, the child thread MAY
pick it up and call request->process().  Which should just say DONE
and stop
Remove billing dir, those files don't belong there
Add various debugging functions and a simple circular buffer implementation
Dig src/billing out of more places
Doxygen
proxy_listener may be NULL.  Closes #434
Remove complaint for DHCP
Mark request DONE when we start the cleanup delay
check_cert_issuer in EAP-TLS broken in presence of X509v3 extensions

Patch from David Wood
Manual port of commit ce169385f
Clean up non-udpfromto code

So that it's simpler.  We also ALWAYS use udpfromto, as we assume
the library is used for IPv4 and IPv6 interfaces, not anything else.
Fix udpfromto bug on Mac OSX.

This is a NICE Mac OSX bug.  Create an interface with
two IP address, and then configure one listener for
each IP address.  Send thousands of packets to one
address, and some will show up on the OTHER socket.

This hack works ONLY if the clients are global.  If
each listener has the same client IP, but with
different secrets, then it will fail the rad_recv()
check above, and there's nothing you can do.

Linux does the right thing.
Cleanup EAP-SIM code
Add support for computing Kc and SRES from Ki and RAND for Comp128-1 (and possibly Comp128-2 and Comp128-3)
Apparently version is a global somewhere
RAND no longer always required. This was a duplicate check.
Look for triplets, and ki in control: not reply:
No longer used
Formatting