Tree Portlet: improve cache key precision

The ``modified`` index, which was relevant for generating the navigation cache key, was only precise down to the minute.
When two repository folders were modified within the minute, the second change did not invalidate the cache, which is really confusing.

Since this is a general issue of the ``modified`` index and we cannot and don't want to change the Plone standard index, I've added a new index ``modified_seconds``, which contains the seconds since the epoch.
The index is registered for all objects so that we can use it for other thing as well.

I think the precision down to the second is enough, although there are theoretical situations where the cache would be wrong (caused by a change of another user).

This PR adds the new index with upgrade step (indexes all objects) and changes the navigation cache to use this index.

@phgross