Bugfixes and improvments to Linux linkdelaysetup.
Bugfixes and improvments to Linux linkdelaysetup.

I added more modinfo checks and warnings, and changed the detection
logic for when to use netem (basically, always use it if it's available,
regardless of if we're using imq or not).

If the bandwidth is 0 (i.e., was wildcard in NS file), we cannot put an
HTB qdisc in the pipe at all, because there is no way to have a "null"
HTB bandwidth shaper.  This kind of stinks, but hopefully the emulation
is still good enough... it's the best we can do.  So in that case, we
just use a single netem qdisc.  Also, this fixes the duplex case; there
was no check for $rbandw == 0 there, so the qdisc setup was breaking.

I added a comment explaining why we have to reverse the old way of doing
things -- i.e., why we now do -> htb -> netem instead of plr -> delay ->
htb like the old way.

nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome,nmc-probe/emulab-nome