When using user-defined stream wrappers, PHP will
return a maximum of 8192 bytes even if more was
requested.
This fix uses stream_get_contents to make sure the full stream is read
and not only the first 8 KB.
Added unit test with a bigger test file to cover this case.
The "deleteAll" method on the Common storage class isn't used anywhere.
Also, it isn't defined on the Storage interface so this fix removes it
completely.
Added isLocal() method to Storage to find out whether the storage is
local or not.
This method is used for the x-sendfile logic to find out whether to add
the headers.