Memory usage optimisations

Ok, i've created branch `bigcommerce-labs/sabre-dav:1.8-bigcommerce` so I can create proper pull request (we had only a tag before).

- `Server::generateMultiStatus()` - support Iterator as `$fileProperties` 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

This PR is required for BIG-4045.

Once this gets merged, i'll tag it as `1.8.7.2`