don't update Suffixarray for every Register during startup

This refactors TruncIndex so that we can add items to it without updating the Suffixarray. This refactored TruncIndex is used in daemon/daemon.go to speed up the daemon's startup by calling UpdateSuffixarray only when we're done registering containers during startup.

This fixes the slow startup encountered with a large number of containers.

Here are the numbers from a system with 2006 containers:
```
unpatched: restore() - 38.26s
patched: restore() - 764.7ms
50x improvement for 2006 containers

unpatched: restore() - 2m45.6s
patched: restore() - 1.46s
113x improvement for 4009 containers

patched: restore() - 3.4s for 10009 containers
```

This has reduced the total startup time down to around one second.

Fixes #1073
Fixes #4694 
Fixes #5084