GWResolver: Sleep when things are quiet

GWResolver seems to have come down with a bad case of narcolepsy. If
there are cached routes that cannot be instantly resolved, they'll go to
the back of the list. If we see the same route again really soon, we get
bored and go back to sleep for a while.

New routes coming in will not be processed until GWResolver wakes up,
but that should be O.K. as the timeouts run in parallel; In the worst
case, there are a large number of pending routes, then there is a flood
of new routes come in. The new routes are queued at the end of the list,
and we sleep until the first route's timeout. All of the original
pending routes should have quite close timeout values, so we should be
able to process through the entire list fairly quickly.

Signed-off-by: Joe Stringer <joe@wand.net.nz>