Update length if binary property is stream

In the Filesystem implementation, the `length` was being set to the value of the property, which was a Stream. This PR sets stats the stream and sets the length based on that.

I'm not sure how this works in Doctrine DBAL / Jackalope, but I guess the `->length` property should always be an integer.
doing getValue on a Property does return the stream. but the 'value' in
the array is the length, and the actual stream is requested with
getBinary to delay the expensive file open operation.