Fix allocate_find query.  Addresses #786
When clearing entries, set expiry time to now.  Addresses #786

This is so that the allocate_find will return the oldest IP.
And, the allocate_find will now use an index, rather than
potentially scanning the entire table
Remove "and expiry_time IS NULL".  Fixes #786

DHCP does multiple passes to allocate one IP.  We want to update
the allocated IP, no matter what it's previous state.

The allocate_find query takes care of allocating the correct IP.
We don't need to do extra checks in the allocate_update query