Further optimise name_list.

This set of patches (based on the nameindex pruning, so merge afterwards) optimises name_list further.  No more disk accesses should be required for name_list now, which should make it hopefully fast enough for all usages (including MithrilMan's client).

Please test that it still works as desired, and also the Qt UI (which uses the same optimised implementation for updating the name tabs) still is correct in all situations.

When this is merged, I can work on more storage optimisations of blkindex.dat.