Improve zoekt namespace assignment service
Problem
The current namespace assignment service assigns zoekt indices to zoekt nodes, but it has the following limitations:
- The namespace root storage statistics and project statistics may or may not be accurate to actual used bytes in a zoekt index
- A namespace can be evicted from a zoekt node only to be reassigned back to the same node moments later.
Proposal
Create an improved namespace assignment service that takes under account a zoekt enabled namespace's last_used_storage_bytes
which is updated whenever a namespace is evicted. This assignment service should use this value instead of root storage statistics when available.