BIG-4045

Memory usage optimisations:
- `Server::generateMultiStatus()` - support `$fileProperties` to be an `Iterator` and also support objects as items of `$fileProperties`
- `Server::getNodesForPath()` - don't iterate over collection of children, return Iterator instead
- `ObjectTree` class - limit size of a cache